{
  "schemaVersion": 1,
  "id": "P59-C04",
  "title": "Краткие ответы: сохранность ID и лишнее обещание",
  "author": {
    "id": "P59",
    "name": "Владислав Савельев"
  },
  "specialty": "Данные и эталоны для проверки моделей",
  "projectStatus": "concept",
  "source": {
    "document": "catalogue_60_personas.md",
    "briefId": "P59-C04",
    "title": "Проверка кратких ответов",
    "kind": "editorial_concept",
    "data": "synthetic"
  },
  "context": "Короткий ответ может быть вежливым, но заменить 0015 на 15 или пообещать завтра без источника. Эти нарушения можно проверять отдельно от стиля.",
  "decision": "Я зафиксировал полный исходный факт и два узких критерия: точный ID и отсутствие обещания «завтра». Перефразирование допустимо, пока эти условия сохранены. Не пытаюсь выдать простую проверку за понимание любого русского текста.",
  "constraint": "Проверяется конкретный контракт слов и идентификатора. Семантическую корректность произвольного ответа должен оценивать отдельный процесс.",
  "steps": [
    "Подготовить и зафиксировать исходный набор.",
    "Выполнить выбранное преобразование и сохранить результат.",
    "Проверить крайние случаи на измененных входах."
  ],
  "inspection": [
    "Три перефразирования проходят, потеря ID и срок отклоняются — проверено.",
    "00150 не считается нужным ID — проверено.",
    "Добавленное обещание отклоняет прежде корректный ответ — проверено."
  ],
  "sample": {
    "headers": [
      "ID",
      "Ответ",
      "Эталон",
      "Точный ID",
      "Лишнее обещание",
      "Решение",
      "Совпало"
    ],
    "rows": [
      [
        "A1",
        "Заявка 0015 принята. Срок уточним после проверки.",
        "принят",
        "Да",
        "Нет",
        "принят",
        "Да"
      ],
      [
        "A2",
        "Мы зарегистрировали 0015, время ответа пока неизвестно.",
        "принят",
        "Да",
        "Нет",
        "принят",
        "Да"
      ],
      [
        "A3",
        "Заявка 15 принята, срок уточним.",
        "ошибка",
        "Нет",
        "Нет",
        "ошибка",
        "Да"
      ],
      [
        "A4",
        "По 0015 все сделаем завтра.",
        "ошибка",
        "Да",
        "Да",
        "ошибка",
        "Да"
      ],
      [
        "A5",
        "Принято.",
        "ошибка",
        "Нет",
        "Нет",
        "ошибка",
        "Да"
      ],
      [
        "A6",
        "0015: обращение передано на проверку без обещанного срока.",
        "принят",
        "Да",
        "Нет",
        "принят",
        "Да"
      ]
    ]
  },
  "sampleNote": "Авторский контрольный набор; не клиентские документы и не результаты внешней модели.",
  "caseStudy": {
    "role": "Разработчик эталонных наборов данных",
    "contribution": "Я подготовил шесть коротких ответов и проверку сохранения идентификатора и допустимого обещания.",
    "objective": "Шесть ответов проверяются на обязательный идентификатор и неподтвержденное обещание срока.",
    "problem": "Короткий ответ может быть вежливым, но заменить 0015 на 15 или пообещать завтра без источника. Эти нарушения можно проверять отдельно от стиля.",
    "result": "Шесть ответов размечены и выполнены через два открытых критерия. Три допустимых перефразирования сохранены, а ID 15, отсутствие ID и обещание завтра отклонены. Отдельно проверена похожая строка 00150.",
    "deliverables": [
      "index.html",
      "source.json",
      "source.csv",
      "result.json",
      "result.csv",
      "engine.js",
      "checks.json",
      "style.css"
    ],
    "blocks": [
      {
        "type": "text",
        "title": "0015 нельзя сократить до 15",
        "text": "В принятом ответе заявка названа 0015, а срок обещано уточнить после проверки. Проверка независимо удерживает исходный ID и отсутствие неподтверждённого срока. Поэтому вежливый текст не считается правильным, если он потерял ведущие нули или добавил уверенное обещание вместо имеющегося основания."
      },
      {
        "type": "text",
        "title": "Полный источник",
        "text": "Входящая заявка имеет ID 0015. Она зарегистрирована и передана на проверку. Дата завершения и время ответа еще не согласованы. Ответ должен сохранить ID и не обещать срок."
      }
    ]
  },
  "deliverable": {
    "type": "analysis",
    "entry": "/catalogue/deliverables/p59-c04/index.html",
    "label": "Открыть работающий материал",
    "files": [
      {
        "path": "/catalogue/deliverables/p59-c04/index.html",
        "name": "index.html",
        "mimeType": "text/html"
      },
      {
        "path": "/catalogue/deliverables/p59-c04/source.json",
        "name": "source.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p59-c04/source.csv",
        "name": "source.csv",
        "mimeType": "text/csv"
      },
      {
        "path": "/catalogue/deliverables/p59-c04/result.json",
        "name": "result.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p59-c04/result.csv",
        "name": "result.csv",
        "mimeType": "text/csv"
      },
      {
        "path": "/catalogue/deliverables/p59-c04/engine.js",
        "name": "engine.js",
        "mimeType": "text/javascript"
      },
      {
        "path": "/catalogue/deliverables/p59-c04/verify.cjs",
        "name": "verify.cjs",
        "mimeType": "text/javascript"
      },
      {
        "path": "/catalogue/deliverables/p59-c04/checks.json",
        "name": "checks.json",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p59-c04/style.css",
        "name": "style.css",
        "mimeType": "text/css"
      }
    ],
    "summary": "Шесть ответов размечены и выполнены через два открытых критерия. Три допустимых перефразирования сохранены, а ID 15, отсутствие ID и обещание завтра отклонены. Отдельно проверена похожая строка 00150."
  },
  "takeaway": "Шесть ответов размечены и выполнены через два открытых критерия. Три допустимых перефразирования сохранены, а ID 15, отсутствие ID и обещание завтра отклонены. Отдельно проверена похожая строка 00150.",
  "capabilities": [
    "completed_analysis"
  ],
  "externalConnections": []
}
