{
  "status": "observed-local-extraction-only",
  "executedAt": "2026-10-12T14:04:34.802005+00:00",
  "pythonVersion": "3.12.10 (tags/v3.12.10:0cc8128, Apr  8 2025, 12:21:36) [MSC v.1943 64 bit (AMD64)]",
  "platform": "Windows-10-10.0.19045-SP0",
  "scriptSha256": "212d54f81d7c2e8ae8cda56a83ea0fbf6eb090b42559a5c270f8d4f97ec84405",
  "fixtureCount": 4,
  "extractorCount": 2,
  "observationCount": 8,
  "expectedNormalizedText": "이 안내문은 신청 전에 준비할 자료 세 가지를 설명합니다. 신청자는 연락처, 요청 범위, 희망 일정을 제출합니다.",
  "rows": [
    {
      "fixtureId": "complete-paragraphs",
      "extractorId": "data-concat",
      "htmlSha256": "1de02dfd507bdf69ec9938af4abf69be43106f6cad2d0ccc22c47b051de35632",
      "extractedText": "이 안내문은 신청 전에 준비할 자료 세 가지를 설명합니다.\n신청자는 연락처, 요청 범위, 희망 일정을 제출합니다.",
      "normalizedText": "이 안내문은 신청 전에 준비할 자료 세 가지를 설명합니다. 신청자는 연락처, 요청 범위, 희망 일정을 제출합니다.",
      "normalizedEqualsExpected": true,
      "nonWhitespaceCharactersPreserved": true,
      "exactSentenceMatches": 2
    },
    {
      "fixtureId": "complete-paragraphs",
      "extractorId": "boundary-aware",
      "htmlSha256": "1de02dfd507bdf69ec9938af4abf69be43106f6cad2d0ccc22c47b051de35632",
      "extractedText": "이 안내문은 신청 전에 준비할 자료 세 가지를 설명합니다.\n\n신청자는 연락처, 요청 범위, 희망 일정을 제출합니다.\n",
      "normalizedText": "이 안내문은 신청 전에 준비할 자료 세 가지를 설명합니다. 신청자는 연락처, 요청 범위, 희망 일정을 제출합니다.",
      "normalizedEqualsExpected": true,
      "nonWhitespaceCharactersPreserved": true,
      "exactSentenceMatches": 2
    },
    {
      "fixtureId": "complete-sentences-br",
      "extractorId": "data-concat",
      "htmlSha256": "3ec5bc821759fc6d5a1dae9def36177e8ee30d551dfa27e2967e12326e23e54b",
      "extractedText": "이 안내문은 신청 전에 준비할 자료 세 가지를 설명합니다.신청자는 연락처, 요청 범위, 희망 일정을 제출합니다.",
      "normalizedText": "이 안내문은 신청 전에 준비할 자료 세 가지를 설명합니다.신청자는 연락처, 요청 범위, 희망 일정을 제출합니다.",
      "normalizedEqualsExpected": false,
      "nonWhitespaceCharactersPreserved": true,
      "exactSentenceMatches": 2
    },
    {
      "fixtureId": "complete-sentences-br",
      "extractorId": "boundary-aware",
      "htmlSha256": "3ec5bc821759fc6d5a1dae9def36177e8ee30d551dfa27e2967e12326e23e54b",
      "extractedText": "이 안내문은 신청 전에 준비할 자료 세 가지를 설명합니다.\n신청자는 연락처, 요청 범위, 희망 일정을 제출합니다.\n",
      "normalizedText": "이 안내문은 신청 전에 준비할 자료 세 가지를 설명합니다. 신청자는 연락처, 요청 범위, 희망 일정을 제출합니다.",
      "normalizedEqualsExpected": true,
      "nonWhitespaceCharactersPreserved": true,
      "exactSentenceMatches": 2
    },
    {
      "fixtureId": "fragment-br",
      "extractorId": "data-concat",
      "htmlSha256": "16ba748c960f72601329f892d87ef81f11d0918379605906ae9e294448a831b4",
      "extractedText": "이 안내문은 신청 전에준비할 자료 세 가지를 설명합니다.신청자는 연락처, 요청 범위,희망 일정을 제출합니다.",
      "normalizedText": "이 안내문은 신청 전에준비할 자료 세 가지를 설명합니다.신청자는 연락처, 요청 범위,희망 일정을 제출합니다.",
      "normalizedEqualsExpected": false,
      "nonWhitespaceCharactersPreserved": true,
      "exactSentenceMatches": 0
    },
    {
      "fixtureId": "fragment-br",
      "extractorId": "boundary-aware",
      "htmlSha256": "16ba748c960f72601329f892d87ef81f11d0918379605906ae9e294448a831b4",
      "extractedText": "이 안내문은 신청 전에\n준비할 자료 세 가지를 설명합니다.\n신청자는 연락처, 요청 범위,\n희망 일정을 제출합니다.\n",
      "normalizedText": "이 안내문은 신청 전에 준비할 자료 세 가지를 설명합니다. 신청자는 연락처, 요청 범위, 희망 일정을 제출합니다.",
      "normalizedEqualsExpected": true,
      "nonWhitespaceCharactersPreserved": true,
      "exactSentenceMatches": 2
    },
    {
      "fixtureId": "fragment-paragraphs",
      "extractorId": "data-concat",
      "htmlSha256": "f790630b56e27cdc3b37169015ca6c0b6b4506688249cc4aa23126e6129c7d48",
      "extractedText": "이 안내문은 신청 전에준비할 자료 세 가지를 설명합니다.신청자는 연락처, 요청 범위,희망 일정을 제출합니다.",
      "normalizedText": "이 안내문은 신청 전에준비할 자료 세 가지를 설명합니다.신청자는 연락처, 요청 범위,희망 일정을 제출합니다.",
      "normalizedEqualsExpected": false,
      "nonWhitespaceCharactersPreserved": true,
      "exactSentenceMatches": 0
    },
    {
      "fixtureId": "fragment-paragraphs",
      "extractorId": "boundary-aware",
      "htmlSha256": "f790630b56e27cdc3b37169015ca6c0b6b4506688249cc4aa23126e6129c7d48",
      "extractedText": "이 안내문은 신청 전에\n준비할 자료 세 가지를 설명합니다.\n신청자는 연락처, 요청 범위,\n희망 일정을 제출합니다.\n",
      "normalizedText": "이 안내문은 신청 전에 준비할 자료 세 가지를 설명합니다. 신청자는 연락처, 요청 범위, 희망 일정을 제출합니다.",
      "normalizedEqualsExpected": true,
      "nonWhitespaceCharactersPreserved": true,
      "exactSentenceMatches": 2
    }
  ],
  "scope": "No network requests, no AI calls, no actual CMS sample, no crawling/indexing/citation measurement. Exact string matching is not semantic understanding.",
  "checks": {
    "sameNonWhitespaceCharactersAllConditions": true,
    "boundaryAwareMatchesAllFixtures": true
  }
}
