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