{
  "schemaVersion": 1,
  "id": "P41-C06",
  "title": "Извлечение сумм: независимый набор и обнаруженная ошибка формата",
  "author": {
    "id": "P41",
    "name": "Светлана Воронцова"
  },
  "specialty": "Документы в проверенные таблицы",
  "projectStatus": "concept",
  "source": {
    "document": "catalogue_60_personas.md",
    "briefId": "P41-C06",
    "title": "Архив заказов из PDF",
    "kind": "editorial_concept",
    "data": "synthetic"
  },
  "context": "На простых строках «Итого: 1200,00» регулярное выражение выглядит надежным. В независимом наборе встречается «Всего к оплате»; если не показать этот отказ, результат будет слишком благоприятным.",
  "decision": "Я разделила документы по семейству источника до запуска. Для каждого сохранила текст и вручную заданную контрольную сумму. На отложенном наборе правило намеренно не достраивает неизвестный формат: несовпадение видно в отчете.",
  "constraint": "Проверяется небольшой детерминированный парсер текстового слоя. Это не оценка OCR и не заявленная точность на произвольном PDF.",
  "steps": [
    "Подготовить полные текстовые карточки и заморозить эталоны до обработки.",
    "Разделить семейства источников и исключить копию из контроля.",
    "Запустить парсер, сохранить отказ DOC-032 и сопоставить null с отсутствующим полем."
  ],
  "inspection": [
    "На независимых четырех документах 3 совпадения и 1 ошибка — проверено.",
    "Копия семейства настройки исключена из контроля — проверено.",
    "Отсутствующая сумма корректно остается null — проверено.",
    "Новая копия контроля не скрывает семейство настройки — проверено."
  ],
  "sample": {
    "headers": [
      "Документ",
      "Набор",
      "Извлечено",
      "Эталон",
      "Результат"
    ],
    "rows": [
      [
        "DOC-001",
        "настройка",
        "1200",
        "1200",
        "Совпало"
      ],
      [
        "DOC-002",
        "настройка",
        "750",
        "750",
        "Совпало"
      ],
      [
        "DOC-003",
        "настройка",
        "450",
        "450",
        "Совпало"
      ],
      [
        "DOC-004",
        "настройка",
        "null",
        "null",
        "Совпало"
      ],
      [
        "DOC-005",
        "настройка",
        "1520",
        "1520",
        "Совпало"
      ],
      [
        "DOC-031",
        "контроль",
        "1050",
        "1050",
        "Совпало"
      ],
      [
        "DOC-032",
        "контроль",
        "null",
        "900",
        "Ошибка формата"
      ],
      [
        "DOC-033",
        "контроль",
        "null",
        "null",
        "Совпало"
      ],
      [
        "DOC-034",
        "контроль",
        "1875",
        "1875",
        "Совпало"
      ],
      [
        "COPY-001",
        "контроль",
        "1200",
        "1200",
        "Исключен: утечка"
      ]
    ]
  },
  "sampleNote": "Авторский контрольный набор; не клиентские документы и не результаты внешней модели.",
  "caseStudy": {
    "role": "Аналитик обработки документов",
    "contribution": "Я написала извлечение суммы из полных текстов и разделила проверочные документы по семействам формулировок.",
    "objective": "Обработчик читает полные текстовые карточки, а отчет отдельно считает точность на настройке и на отложенных семействах документов.",
    "problem": "На простых строках «Итого: 1200,00» регулярное выражение выглядит надежным. В независимом наборе встречается «Всего к оплате»; если не показать этот отказ, результат будет слишком благоприятным.",
    "result": "На четырех независимых карточках правило правильно прочитало три, одну не разобрало. Копия документа настройки исключена. Ошибка на заголовке «Всего к оплате» сохранена как основание для следующей версии, а не исправлена в эталоне.",
    "deliverables": [
      "index.html",
      "source.json",
      "source.csv",
      "result.json",
      "result.csv",
      "engine.js",
      "checks.json",
      "style.css"
    ],
    "blocks": [
      {
        "type": "text",
        "title": "Неудачный пример оставлен в отчёте",
        "text": "Фраза «Всего к оплате» попала в отложенное семейство и выявила пропуск, которого не было видно на знакомых формулировках. Я сохранила этот документ рядом с тремя успешными примерами. Разделение по семействам оказалось полезнее случайного перемешивания похожих счетов: оно показало конкретное правило, которое ещё нужно расширить."
      }
    ]
  },
  "deliverable": {
    "type": "analysis",
    "entry": "/catalogue/deliverables/p41-c06/index.html",
    "label": "Открыть работающий материал",
    "files": [
      {
        "path": "/catalogue/deliverables/p41-c06/index.html",
        "name": "index.html",
        "mimeType": "text/html"
      },
      {
        "path": "/catalogue/deliverables/p41-c06/source.json",
        "name": "source.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p41-c06/source.csv",
        "name": "source.csv",
        "mimeType": "text/csv"
      },
      {
        "path": "/catalogue/deliverables/p41-c06/result.json",
        "name": "result.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p41-c06/result.csv",
        "name": "result.csv",
        "mimeType": "text/csv"
      },
      {
        "path": "/catalogue/deliverables/p41-c06/engine.js",
        "name": "engine.js",
        "mimeType": "text/javascript"
      },
      {
        "path": "/catalogue/deliverables/p41-c06/verify.cjs",
        "name": "verify.cjs",
        "mimeType": "text/javascript"
      },
      {
        "path": "/catalogue/deliverables/p41-c06/checks.json",
        "name": "checks.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p41-c06/style.css",
        "name": "style.css",
        "mimeType": "text/css"
      }
    ],
    "summary": "На четырех независимых карточках правило правильно прочитало три, одну не разобрало. Копия документа настройки исключена. Ошибка на заголовке «Всего к оплате» сохранена как основание для следующей версии, а не исправлена в эталоне."
  },
  "takeaway": "На четырех независимых карточках правило правильно прочитало три, одну не разобрало. Копия документа настройки исключена. Ошибка на заголовке «Всего к оплате» сохранена как основание для следующей версии, а не исправлена в эталоне.",
  "capabilities": [
    "completed_analysis"
  ],
  "externalConnections": []
}
