{
  "method": "Case-folded word tokens; curved apostrophe normalized; punctuation/whitespace ignored. Python difflib.SequenceMatcher, autojunk=False. No audio or ASR evaluation.",
  "created": "2026-10-31",
  "authorship": "All reference sentences and deliberately altered drafts were written for this page. Names and scenarios are fictional.",
  "total": 10,
  "wording_difference": 8,
  "no_wording_difference": 2,
  "cases": [
    {
      "id": "01",
      "title": "A missing negative reverses permission",
      "kind": "changed",
      "reference": "I do not publish client names.",
      "draft": "I do publish client names.",
      "check": "Replay the verb together with the word immediately before it. The missing “not” reverses the statement; adding polished punctuation would not repair it. Keep the negative in your checked quotation and do not infer permission from the shorter draft.",
      "result": {
        "wording_difference": true,
        "changes": [
          {
            "operation": "delete",
            "reference_tokens": [
              "not"
            ],
            "draft_tokens": []
          }
        ],
        "reference_token_count": 6,
        "draft_token_count": 5
      }
    },
    {
      "id": "02",
      "title": "A similar sound changes the budget",
      "kind": "changed",
      "reference": "Budget fifteen dollars for the draft.",
      "draft": "Budget fifty dollars for the draft.",
      "check": "Listen specifically to the amount, then write it beside the currency. Here “fifteen” and “fifty” are different instructions. A readable sentence cannot decide which amount the speaker intended. Do not silently choose the more plausible budget.",
      "result": {
        "wording_difference": true,
        "changes": [
          {
            "operation": "replace",
            "reference_tokens": [
              "fifteen"
            ],
            "draft_tokens": [
              "fifty"
            ]
          }
        ],
        "reference_token_count": 6,
        "draft_token_count": 6
      }
    },
    {
      "id": "03",
      "title": "The value stays, but the unit changes",
      "kind": "changed",
      "reference": "Leave a gap of fifteen milliseconds.",
      "draft": "Leave a gap of fifteen seconds.",
      "check": "Audit the quantity and its unit as one phrase. Both lines retain “fifteen,” so checking numbers alone misses the problem. Replay the full instruction before copying it into a tutorial, brief, or caption. Preserve the unit actually spoken.",
      "result": {
        "wording_difference": true,
        "changes": [
          {
            "operation": "replace",
            "reference_tokens": [
              "milliseconds"
            ],
            "draft_tokens": [
              "seconds"
            ]
          }
        ],
        "reference_token_count": 6,
        "draft_token_count": 6
      }
    },
    {
      "id": "04",
      "title": "A plausible name still needs a source",
      "kind": "changed",
      "reference": "Ask Mira Vale before posting.",
      "draft": "Ask Meera Vale before posting.",
      "check": "Mira Vale is a fictional name written for this exercise. The similar-looking draft is not a verified alternative spelling. In a real clip, check the speaker’s own written identification when available; if you cannot establish the spelling, mark it unresolved instead of guessing.",
      "result": {
        "wording_difference": true,
        "changes": [
          {
            "operation": "replace",
            "reference_tokens": [
              "mira"
            ],
            "draft_tokens": [
              "meera"
            ]
          }
        ],
        "reference_token_count": 5,
        "draft_token_count": 5
      }
    },
    {
      "id": "05",
      "title": "The speaker corrects the instruction",
      "kind": "changed",
      "reference": "Send three drafts—sorry, two drafts.",
      "draft": "Send three drafts.",
      "check": "Replay beyond the first complete sentence or number. The correction changes the requested delivery. Keep the correction in a verbatim transcript; if you write a summary, report the final instruction and label it as your summary rather than presenting the shorter draft as an exact quote.",
      "result": {
        "wording_difference": true,
        "changes": [
          {
            "operation": "delete",
            "reference_tokens": [
              "sorry",
              "two",
              "drafts"
            ],
            "draft_tokens": []
          }
        ],
        "reference_token_count": 6,
        "draft_token_count": 3
      }
    },
    {
      "id": "06",
      "title": "The words move to the wrong speaker",
      "kind": "changed",
      "reference": "A: Can I publish it?\nB: Not yet.",
      "draft": "A: Can I publish it? Not yet.",
      "check": "Compare speaker turns, not just the combined words. The draft assigns the reply to A. Listen through the change of voice and retain separate turns when attribution matters. A word comparison can flag a missing label, but it cannot identify a person from the audio.",
      "result": {
        "wording_difference": true,
        "changes": [
          {
            "operation": "delete",
            "reference_tokens": [
              "b"
            ],
            "draft_tokens": []
          }
        ],
        "reference_token_count": 8,
        "draft_token_count": 7
      }
    },
    {
      "id": "07",
      "title": "A visual note becomes invented speech",
      "kind": "changed",
      "reference": "[On screen: Step 2]\nSpoken: Wait until tomorrow.",
      "draft": "Step two. Wait until tomorrow.",
      "check": "The bracketed line is an author-written visual annotation, not part of the spoken sentence. Keep visible text in a separate note. For a real Reel, replay with sound before putting a phrase inside quotation marks; a readable overlay does not prove someone said it.",
      "result": {
        "wording_difference": true,
        "changes": [
          {
            "operation": "delete",
            "reference_tokens": [
              "on",
              "screen"
            ],
            "draft_tokens": []
          },
          {
            "operation": "replace",
            "reference_tokens": [
              "2",
              "spoken"
            ],
            "draft_tokens": [
              "two"
            ]
          }
        ],
        "reference_token_count": 8,
        "draft_token_count": 5
      }
    },
    {
      "id": "08",
      "title": "A short extract drops its condition",
      "kind": "changed",
      "reference": "Use the clip only if the speaker has approved the edit.",
      "draft": "Use the clip.",
      "check": "Replay the end of the sentence, including any “only if,” “unless,” or exception. This shortened draft removes a condition. Save the complete checked passage before writing a shorter quotation. If the audio ends before you can hear the condition, leave the claim unverified.",
      "result": {
        "wording_difference": true,
        "changes": [
          {
            "operation": "delete",
            "reference_tokens": [
              "only",
              "if",
              "the",
              "speaker",
              "has",
              "approved",
              "the",
              "edit"
            ],
            "draft_tokens": []
          }
        ],
        "reference_token_count": 11,
        "draft_token_count": 3
      }
    },
    {
      "id": "09",
      "title": "Control: straight and curved apostrophes",
      "kind": "format-control",
      "reference": "I won't post it.",
      "draft": "I won’t post it.",
      "check": "This control uses the same words. The comparison deliberately treats straight and curved apostrophes alike. It is a formatting control, not proof that either line matches a recording.",
      "result": {
        "wording_difference": false,
        "changes": [],
        "reference_token_count": 4,
        "draft_token_count": 4
      }
    },
    {
      "id": "10",
      "title": "Control: a line break becomes a space",
      "kind": "format-control",
      "reference": "Check the name.\nThen replay the line.",
      "draft": "Check the name. Then replay the line.",
      "check": "This control changes layout only. The comparison ignores whitespace and punctuation between tokens. It does not check subtitle timing, sentence meaning, speaker identity, or audio completeness.",
      "result": {
        "wording_difference": false,
        "changes": [],
        "reference_token_count": 7,
        "draft_token_count": 7
      }
    }
  ]
}