{
  "schemaVersion": 1,
  "id": "P60-C03",
  "title": "Нечитаемое поле: карточка груза с журналом подтверждений",
  "author": {
    "id": "P60",
    "name": "Герман Петров"
  },
  "specialty": "Заявки на перевозку и логистические документы",
  "projectStatus": "concept",
  "source": {
    "document": "catalogue_60_personas.md",
    "briefId": "P60-C03",
    "title": "Заявка из скана",
    "kind": "editorial_concept",
    "data": "synthetic"
  },
  "context": "Исходный скан не предоставлен, поэтому я не заявляю распознавание. Работа начинается с текстовой выписки неопределенного поля и полного последующего письма.",
  "decision": "Я разделил выписку и подтверждение. Новая масса принимается только из источника с явным статусом confirmed и сохраняет его ID. Предварительная догадка не проходит, даже если похожа на ответ.",
  "constraint": "На входе текстовые выписки и письма. OCR и качество реального скана не проверялись.",
  "steps": [
    "Подготовить и зафиксировать исходный набор.",
    "Выполнить выбранное преобразование и сохранить результат.",
    "Проверить крайние случаи на измененных входах."
  ],
  "inspection": [
    "Масса 180 имеет источник, дата остается открытой — проверено.",
    "Предварительное предположение не становится массой — проверено.",
    "Значение без ID источника не считается подтверждением — проверено."
  ],
  "sample": {
    "headers": [
      "Поле",
      "Исходник",
      "Значение",
      "Источник",
      "Решение"
    ],
    "rows": [
      [
        "Мест",
        "4",
        "4",
        "MAIL-2",
        "Подтверждено"
      ],
      [
        "Размер места, см",
        "120×80×30",
        "120×80×30",
        "MAIL-2",
        "Подтверждено"
      ],
      [
        "Общая масса, кг",
        "?80",
        "180",
        "MAIL-2",
        "Подтверждено"
      ],
      [
        "Дата",
        "не видно",
        "",
        "",
        "Уточнить"
      ]
    ]
  },
  "sampleNote": "Авторский контрольный набор; не клиентские документы и не результаты внешней модели.",
  "caseStudy": {
    "role": "Разработчик обработки логистических заявок",
    "contribution": "Я связал спорное значение массы с подтверждающим письмом и оставил неподтверждённую дату открытой.",
    "objective": "Неясная масса «?80» остается неподтвержденной до отдельного ответа; размер и число мест не теряются.",
    "problem": "Исходный скан не предоставлен, поэтому я не заявляю распознавание. Работа начинается с текстовой выписки неопределенного поля и полного последующего письма.",
    "result": "Три поля получили подтвержденные значения со ссылкой MAIL-2, дата осталась открытой. Масса 180 кг принята из письма, а исходное «?80» сохранено для истории; без статуса или источника значение не используется.",
    "deliverables": [
      "index.html",
      "source.json",
      "source.csv",
      "result.json",
      "result.csv",
      "engine.js",
      "checks.json",
      "style.css"
    ],
    "blocks": [
      {
        "type": "text",
        "title": "180 кг имеет источник подтверждения",
        "text": "Исходная запись массы допускает неоднозначное чтение. Подтверждающее письмо фиксирует 180 кг и хранится как основание изменения. Дата при этом остаётся ожидающей уточнения. Я не распространяю подтверждение одного поля на всю заявку: диспетчер видит, что исправлено и чего ещё не хватает."
      },
      {
        "type": "text",
        "title": "Подтверждающее письмо MAIL-2",
        "text": "Подтверждаем по заявке: 4 места 120×80×30 см каждое, общая масса 180 кг. Дату погрузки пока согласовываем. Ранее нечитаемое поле массы относится к общей массе, не к одному месту."
      }
    ]
  },
  "deliverable": {
    "type": "document",
    "entry": "/catalogue/deliverables/p60-c03/index.html",
    "label": "Открыть работающий материал",
    "files": [
      {
        "path": "/catalogue/deliverables/p60-c03/index.html",
        "name": "index.html",
        "mimeType": "text/html"
      },
      {
        "path": "/catalogue/deliverables/p60-c03/source.json",
        "name": "source.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p60-c03/source.csv",
        "name": "source.csv",
        "mimeType": "text/csv"
      },
      {
        "path": "/catalogue/deliverables/p60-c03/result.json",
        "name": "result.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p60-c03/result.csv",
        "name": "result.csv",
        "mimeType": "text/csv"
      },
      {
        "path": "/catalogue/deliverables/p60-c03/engine.js",
        "name": "engine.js",
        "mimeType": "text/javascript"
      },
      {
        "path": "/catalogue/deliverables/p60-c03/verify.cjs",
        "name": "verify.cjs",
        "mimeType": "text/javascript"
      },
      {
        "path": "/catalogue/deliverables/p60-c03/checks.json",
        "name": "checks.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p60-c03/style.css",
        "name": "style.css",
        "mimeType": "text/css"
      }
    ],
    "summary": "Три поля получили подтвержденные значения со ссылкой MAIL-2, дата осталась открытой. Масса 180 кг принята из письма, а исходное «?80» сохранено для истории; без статуса или источника значение не используется."
  },
  "takeaway": "Три поля получили подтвержденные значения со ссылкой MAIL-2, дата осталась открытой. Масса 180 кг принята из письма, а исходное «?80» сохранено для истории; без статуса или источника значение не используется.",
  "capabilities": [
    "completed_document"
  ],
  "externalConnections": []
}
