{
  "schemaVersion": 1,
  "id": "P41-C01",
  "title": "Реестр счетов: одинаковые номера пяти поставщиков",
  "author": {
    "id": "P41",
    "name": "Светлана Воронцова"
  },
  "specialty": "Документы в проверенные таблицы",
  "projectStatus": "concept",
  "source": {
    "document": "catalogue_60_personas.md",
    "briefId": "P41-C01",
    "title": "Счета от пяти поставщиков",
    "kind": "editorial_concept",
    "data": "synthetic"
  },
  "context": "Счет 15 встречается у пяти поставщиков. У одного есть повтор файла, написание 0015 и новая сумма. Простое удаление повторяющихся номеров потеряло бы отдельные обязательства.",
  "decision": "Я отделила источник от номера документа. Одинаковый отпечаток файла снимается как повтор; номер сохраняется строкой. Похожие номера одного поставщика остаются в очереди сверки, а новая сумма получает собственную строку.",
  "constraint": "Реестр работает с уже прочитанными полями. Он не распознает скан и не определяет юридическую тождественность счетов.",
  "steps": [
    "Собрать 12 записей от пяти явно названных учебных поставщиков.",
    "Разделить идентичный источник, похожий номер и изменение суммы.",
    "Сверить решения на копии без отпечатка и сохранить 0015 строкой."
  ],
  "inspection": [
    "Три копии источника сняты, пять поставщиков не объединены — проверено.",
    "Ведущие нули и новая сумма остаются на сверке — проверено.",
    "Без отпечатка повтор не объявляется доказанным — проверено."
  ],
  "sample": {
    "headers": [
      "Файл",
      "Поставщик",
      "Номер",
      "Сумма",
      "Решение",
      "Основание"
    ],
    "rows": [
      [
        "a-15.txt",
        "Северная бумага",
        "15",
        "4800",
        "Сверить",
        "Другая сумма: требуется версия документа"
      ],
      [
        "b-15.txt",
        "Мастер крепеж",
        "15",
        "3250",
        "Отдельный счет",
        "Поставщик и точный номер сохранены"
      ],
      [
        "c-15.txt",
        "Лист и линия",
        "15",
        "7120",
        "Отдельный счет",
        "Поставщик и точный номер сохранены"
      ],
      [
        "d-15.txt",
        "Тихий свет",
        "15",
        "2900",
        "Отдельный счет",
        "Поставщик и точный номер сохранены"
      ],
      [
        "e-15.txt",
        "Склад форм",
        "15",
        "15400",
        "Отдельный счет",
        "Поставщик и точный номер сохранены"
      ],
      [
        "a-copy.txt",
        "Северная бумага",
        "15",
        "4800",
        "Повтор файла",
        "a-15.txt"
      ],
      [
        "b-copy.txt",
        "Мастер крепеж",
        "15",
        "3250",
        "Повтор файла",
        "b-15.txt"
      ],
      [
        "e-copy.txt",
        "Склад форм",
        "15",
        "15400",
        "Повтор файла",
        "e-15.txt"
      ],
      [
        "a-0015.txt",
        "Северная бумага",
        "0015",
        "4800",
        "Сверить",
        "Другая сумма: требуется версия документа"
      ],
      [
        "a-corrected.txt",
        "Северная бумага",
        "15",
        "5100",
        "Сверить",
        "Другая сумма: требуется версия документа"
      ],
      [
        "unknown.txt",
        "",
        "19",
        "900",
        "Сверить",
        "Неполный ключ"
      ],
      [
        "d-16.txt",
        "Тихий свет",
        "16",
        "1100",
        "Отдельный счет",
        "Поставщик и точный номер сохранены"
      ]
    ]
  },
  "sampleNote": "Авторский контрольный набор; не клиентские документы и не результаты внешней модели.",
  "caseStudy": {
    "role": "Аналитик обработки документов",
    "contribution": "Я подготовила двенадцать исходных документов, рассчитала SHA-256 и собрала реестр с причинами исключения копий.",
    "objective": "Двенадцать входящих записей превращаются в реестр, где копия файла, исправленный счет и совпадение номера не сливаются.",
    "problem": "Счет 15 встречается у пяти поставщиков. У одного есть повтор файла, написание 0015 и новая сумма. Простое удаление повторяющихся номеров потеряло бы отдельные обязательства.",
    "result": "Двенадцать полных текстовых счетов дали три пары точных копий по рассчитанному SHA-256. Пять поставщиков остались раздельными; 0015 не заменен на 15, новая сумма 5100 и неполный документ направлены на сверку. Файлы и их хэши доступны для повторной проверки.",
    "deliverables": [
      "index.html",
      "source.json",
      "source.csv",
      "result.json",
      "result.csv",
      "engine.js",
      "checks.json",
      "style.css",
      "a-15.txt",
      "b-15.txt",
      "c-15.txt",
      "d-15.txt",
      "e-15.txt",
      "a-copy.txt",
      "b-copy.txt",
      "e-copy.txt",
      "a-0015.txt",
      "a-corrected.txt",
      "unknown.txt",
      "d-16.txt"
    ],
    "blocks": [
      {
        "type": "text",
        "title": "Одинаковый номер ещё не означает копию",
        "text": "В реестре номер 0015 сохраняется строкой: превращение его в 15 склеило бы разные обозначения. При этом документы с одной суммой нельзя исключать только по совпадению полей. Поэтому я разделила две проверки: побайтные копии узнаются по SHA-256, а изменённая сумма 5100 вместо 4800 остаётся самостоятельной записью для сверки."
      }
    ]
  },
  "deliverable": {
    "type": "analysis",
    "entry": "/catalogue/deliverables/p41-c01/index.html",
    "label": "Открыть работающий материал",
    "files": [
      {
        "path": "/catalogue/deliverables/p41-c01/index.html",
        "name": "index.html",
        "mimeType": "text/html"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/source.json",
        "name": "source.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/source.csv",
        "name": "source.csv",
        "mimeType": "text/csv"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/result.json",
        "name": "result.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/result.csv",
        "name": "result.csv",
        "mimeType": "text/csv"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/engine.js",
        "name": "engine.js",
        "mimeType": "text/javascript"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/verify.cjs",
        "name": "verify.cjs",
        "mimeType": "text/javascript"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/checks.json",
        "name": "checks.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/style.css",
        "name": "style.css",
        "mimeType": "text/css"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/a-15.txt",
        "name": "a-15.txt",
        "mimeType": "text/plain"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/b-15.txt",
        "name": "b-15.txt",
        "mimeType": "text/plain"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/c-15.txt",
        "name": "c-15.txt",
        "mimeType": "text/plain"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/d-15.txt",
        "name": "d-15.txt",
        "mimeType": "text/plain"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/e-15.txt",
        "name": "e-15.txt",
        "mimeType": "text/plain"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/a-copy.txt",
        "name": "a-copy.txt",
        "mimeType": "text/plain"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/b-copy.txt",
        "name": "b-copy.txt",
        "mimeType": "text/plain"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/e-copy.txt",
        "name": "e-copy.txt",
        "mimeType": "text/plain"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/a-0015.txt",
        "name": "a-0015.txt",
        "mimeType": "text/plain"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/a-corrected.txt",
        "name": "a-corrected.txt",
        "mimeType": "text/plain"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/unknown.txt",
        "name": "unknown.txt",
        "mimeType": "text/plain"
      },
      {
        "path": "/catalogue/deliverables/p41-c01/d-16.txt",
        "name": "d-16.txt",
        "mimeType": "text/plain"
      }
    ],
    "summary": "Двенадцать полных текстовых счетов дали три пары точных копий по рассчитанному SHA-256. Пять поставщиков остались раздельными; 0015 не заменен на 15, новая сумма 5100 и неполный документ направлены на сверку. Файлы и их хэши доступны для повторной проверки."
  },
  "takeaway": "Двенадцать полных текстовых счетов дали три пары точных копий по рассчитанному SHA-256. Пять поставщиков остались раздельными; 0015 не заменен на 15, новая сумма 5100 и неполный документ направлены на сверку. Файлы и их хэши доступны для повторной проверки.",
  "capabilities": [
    "completed_analysis"
  ],
  "externalConnections": []
}
