{
  "schemaVersion": 1,
  "id": "P59-C03",
  "title": "Совместимость: эталон различает запрет и отсутствие сведений",
  "author": {
    "id": "P59",
    "name": "Владислав Савельев"
  },
  "specialty": "Данные и эталоны для проверки моделей",
  "projectStatus": "concept",
  "source": {
    "document": "catalogue_60_personas.md",
    "briefId": "P59-C03",
    "title": "Каталог совместимых товаров",
    "kind": "editorial_concept",
    "data": "synthetic"
  },
  "context": "Нет записи о совместимости — не то же самое, что есть запрет. Обучающий эталон должен сохранять третье состояние, иначе модель научится уверенно отрицать неизвестное.",
  "decision": "Я приложил матрицу явных разрешений и запретов. Пары имеют отдельные эталоны; обработчик не выводит совместимость из похожего артикула и не заменяет O цифрой 0.",
  "constraint": "Матрица относится к авторским изделиям, не подтверждает совместимость реального оборудования.",
  "steps": [
    "Подготовить и зафиксировать исходный набор.",
    "Выполнить выбранное преобразование и сохранить результат.",
    "Проверить крайние случаи на измененных входах."
  ],
  "inspection": [
    "Восемь пар совпали с эталоном, четыре остались неизвестными — проверено.",
    "Удаление разрешения превращает пару в неизвестную, не запрещенную — проверено.",
    "Добавленный явный запрет меняет только соответствующую пару — проверено."
  ],
  "sample": {
    "headers": [
      "ID",
      "Устройство",
      "Фильтр",
      "Эталон",
      "Ответ",
      "Основание",
      "Совпало"
    ],
    "rows": [
      [
        "P1",
        "A1",
        "F10",
        "да",
        "да",
        "A1 / F10 / да",
        "Да"
      ],
      [
        "P2",
        "A1",
        "F20",
        "нет",
        "нет",
        "A1 / F20 / нет",
        "Да"
      ],
      [
        "P3",
        "A2",
        "F20",
        "да",
        "да",
        "A2 / F20 / да",
        "Да"
      ],
      [
        "P4",
        "A2",
        "F10",
        "нет",
        "нет",
        "A2 / F10 / нет",
        "Да"
      ],
      [
        "P5",
        "A3",
        "F10",
        "неизвестно",
        "неизвестно",
        "Точной строки нет",
        "Да"
      ],
      [
        "P6",
        "A1",
        "F30",
        "неизвестно",
        "неизвестно",
        "Точной строки нет",
        "Да"
      ],
      [
        "P7",
        "A1",
        "F1O",
        "неизвестно",
        "неизвестно",
        "Точной строки нет",
        "Да"
      ],
      [
        "P8",
        "A2",
        "F2O",
        "неизвестно",
        "неизвестно",
        "Точной строки нет",
        "Да"
      ]
    ]
  },
  "sampleNote": "Авторский контрольный набор; не клиентские документы и не результаты внешней модели.",
  "caseStudy": {
    "role": "Разработчик эталонных наборов данных",
    "contribution": "Я составил матрицу совместимости, восемь пар и отдельный эталон неизвестных сочетаний.",
    "objective": "Восемь пар сравниваются с полной матрицей производителя авторского каталога; отсутствие строки остается «неизвестно».",
    "problem": "Нет записи о совместимости — не то же самое, что есть запрет. Обучающий эталон должен сохранять третье состояние, иначе модель научится уверенно отрицать неизвестное.",
    "result": "Эталон включает два разрешения, два запрета и четыре неизвестных пары. Похожие F1O/F10 не объединяются. Удаление подтверждающей строки возвращает неизвестность, а не автоматический запрет.",
    "deliverables": [
      "index.html",
      "source.json",
      "source.csv",
      "result.json",
      "result.csv",
      "engine.js",
      "checks.json",
      "style.css"
    ],
    "blocks": [
      {
        "type": "text",
        "title": "Отсутствующая пара не превращается в запрет",
        "text": "Для A1/F10 в матрице есть «да», для A1/F20 — «нет». Четыре другие проверяемые пары не описаны и получают «неизвестно». Я включил их в эталон отдельно: приравнивание пустой ячейки к несовместимости дало бы определённый ответ там, где исходных данных недостаточно."
      },
      {
        "type": "table",
        "title": "Полная матрица источника",
        "lead": "",
        "table": {
          "headers": [
            "Устройство",
            "Фильтр",
            "Разрешение"
          ],
          "rows": [
            [
              "A1",
              "F10",
              "да"
            ],
            [
              "A1",
              "F20",
              "нет"
            ],
            [
              "A2",
              "F20",
              "да"
            ],
            [
              "A2",
              "F10",
              "нет"
            ]
          ]
        }
      }
    ]
  },
  "deliverable": {
    "type": "analysis",
    "entry": "/catalogue/deliverables/p59-c03/index.html",
    "label": "Открыть работающий материал",
    "files": [
      {
        "path": "/catalogue/deliverables/p59-c03/index.html",
        "name": "index.html",
        "mimeType": "text/html"
      },
      {
        "path": "/catalogue/deliverables/p59-c03/source.json",
        "name": "source.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p59-c03/source.csv",
        "name": "source.csv",
        "mimeType": "text/csv"
      },
      {
        "path": "/catalogue/deliverables/p59-c03/result.json",
        "name": "result.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p59-c03/result.csv",
        "name": "result.csv",
        "mimeType": "text/csv"
      },
      {
        "path": "/catalogue/deliverables/p59-c03/engine.js",
        "name": "engine.js",
        "mimeType": "text/javascript"
      },
      {
        "path": "/catalogue/deliverables/p59-c03/verify.cjs",
        "name": "verify.cjs",
        "mimeType": "text/javascript"
      },
      {
        "path": "/catalogue/deliverables/p59-c03/checks.json",
        "name": "checks.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p59-c03/style.css",
        "name": "style.css",
        "mimeType": "text/css"
      }
    ],
    "summary": "Эталон включает два разрешения, два запрета и четыре неизвестных пары. Похожие F1O/F10 не объединяются. Удаление подтверждающей строки возвращает неизвестность, а не автоматический запрет."
  },
  "takeaway": "Эталон включает два разрешения, два запрета и четыре неизвестных пары. Похожие F1O/F10 не объединяются. Удаление подтверждающей строки возвращает неизвестность, а не автоматический запрет.",
  "capabilities": [
    "completed_analysis"
  ],
  "externalConnections": []
}
