Правила оформления генеалогических карточек

Этот документ фиксирует обязательные редакционные правила для карточек FamilySearch и других генеалогических источников проекта. Они применяются и к новым карточкам, и при исправлении уже созданных данных.

1. Основное имя человека

displayName и modernName записываются в современном порядке:

Имя Отчество Фамилия

Например: Пелагея Сергеевна Ампилогова, Сергей Семёнович Ампилогов, Антон Степанович Анпилогов.

Это правило действует во всех пользовательских нормализованных полях: в профиле человека, в заголовке Record, в индексе и поисковой выдаче. Фамилия в начале допустима только внутри буквального источникового значения, например в nameAsIndexed, если именно так имя отдал внешний индекс.

Личное имя нельзя определять только по сходству с фамилией. В частности, Анпилог Иванович Онаньин — это имя Анпилог, отчество Иванович и фамилия Онаньин. Автоматический нормализатор не имеет права превращать его в «Иванович Онаньин Анпилог» или считать Анпилог фамилией.

В основном имени используются современная орфография и современная форма имени и отчества, если чтение однозначно. Например:

  • Пелагія → Пелагея;
  • Сергій → Сергей;
  • Симеоновъ → Семенович, если это отчество и такое преобразование подтверждается контекстом;
  • окончание отчества приводится к современной форме с учётом пола человека.

Современная форма не должна добавлять сведения, которых нет в источнике или которые нельзя обоснованно восстановить. Если отчество восстановлено по имени отца, в карточке обязательно указываются patronymicEvidence.basis, ссылка на упоминание отца и уровень уверенности.

1.1. Древние формы имени в основное имя не попадают

Правило нарушалось многократно, поэтому вынесено отдельно.

Конструкции «имярек сын такого-то», уменьшительные и звательные формы (Кондрашко, Ивашко, Гришка, Оедка) и дореформенная орфография — это nameAsTranscribed и alternateNames[], но никогда не displayName.

в документе❌ нельзя✅ displayName
«Кондрашко за Вавиловымъ сыномъ Онаньина»Кондрашка Вавилов сын ОнаньинКондратий Вавилович Онаньин
«за Анпилогомъ за Ивановымъ сыномъ Онаньина»Анпилог Иванов сын ОнаньинАнпилог Иванович Онаньин
«за Иваномъ за Нечаевымъ сыномъ Анпилогова»Иван Нечаев сын АнпилоговИван Нечаевич Анпилогов

Отдельная ловушка — формула «такая-то Иванова жена такого-то». Это указание на мужа, а не отчество. Стефанида Иванова жена Юрлова → displayName: Стефанида Юрлова, и никакой «Ивановны».

Если имя редкое и современной формы у него нет (Беляй, Нечай, Ермак, Софон, Анпилог), само имя остаётся как есть, но отчество и порядок слов всё равно приводятся к современному виду: Ермак Пахомович Анпилогов, а не «Ермак Пахомов сын Анпилогова».

2. Фамилии Ампилогов, Анпилогов и Анпилов

Формы Ампилогов, Анпилогов и Анпилов нельзя автоматически сводить к одной фамилии. Современная орфография имени не означает автоматическую замену документальной фамилии на Ампилогов.

Действует следующее правило:

  1. Если человек известен только по документу, где он записан Анпилогов, его основная фамилия — Анпилогов.
  2. Если человек известен только по документу, где он записан Анпилов, его основная фамилия — Анпилов.
  3. Если документ содержит Ампилогов и нет противоречащих сведений, основная фамилия — Ампилогов.
  4. Форма Анпилогов или Анпилов считается ошибкой писца только тогда, когда доказано, что запись относится к тому же человеку, который в других надёжных источниках установлен как Ампилогов.
  5. Простого сходства имени, отчества, места или приблизительного года недостаточно для исправления фамилии. Нужна подтверждённая идентификация: связанный personId, доказанная семейная группа либо совокупность прямых совпадающих сведений, отражённая в review.identityResolution и связях источников.
  6. При доказанной ошибке писца основное имя даётся в установленной форме, а написание конкретного документа сохраняется без исправлений как альтернативное и источниковое.

Пример доказанной ошибки:

  • основное имя: Григорий Андреевич Ампилогов;
  • nameAsTranscribed: Григорій Андреевъ Анпиловъ;
  • alternateNames: документальные формы Григорій Андреевъ Анпиловъ, нормализованный вариант Григорий Андреев Анпилов и другие реально найденные варианты.

Пример без доказанной ошибки:

  • в единственном источнике человек записан Иван Петров Анпилогов;
  • основное имя: Иван Петрович Анпилогов;
  • исходное написание хранится в nameAsTranscribed и alternateNames;
  • форма Ампилогов не добавляется без нового доказательства.

3. Исторические и альтернативные имена

nameAsTranscribed хранит чтение оригинального изображения с исторической орфографией. nameAsIndexed хранит вариант индекса FamilySearch, даже если индекс ошибочен. nameAsWritten и nameAsSupplied используются только в соответствии с происхождением значения.

alternateNames[] содержит все документированные варианты, отличные от основного имени:

  • дореформенное написание;
  • форму из оригинала;
  • форму индекса FamilySearch;
  • иной вариант из другого источника;
  • ошибочное написание писца, если ошибка доказана сопоставлением документов.

Исторические формы нельзя удалять после установления современного основного имени. Нельзя также создавать альтернативный вариант, которого нет ни в источнике, ни в обоснованной реконструкции.

Современные и нормализованные альтернативные варианты также записываются в порядке «имя, отчество, фамилия»: Иоанн Андреев Эмпилогов, Иоанн Андреев Ампилогов. Буквальная последовательность слов оригинала остаётся без изменений в nameAsTranscribed, а последовательность индекса — в nameAsIndexed. Если alternateNames[] повторяет буквальную форму источника, её порядок также не переписывается задним числом.

4. Восприемники, свидетели и другие участники

Каждый названный человек записывается отдельным объектом в mentions[]. Восприемников нельзя объединять в одну строку с ролью godparents: мужчина получает роль godfather, женщина — godmother. Аналогично отдельно оформляются свидетели, свадебные поручители, заявители и духовенство.

Их основные имена также записываются в современном порядке «имя, отчество, фамилия», а историческое чтение сохраняется в nameAsTranscribed и alternateNames[]. Сословие, занятие, отношение к событию и связанные места не теряются.

Если имя участника действительно не читается, нельзя угадывать его. Нужно указать читаемую часть и заключить неопределённый фрагмент в квадратные скобки, например: Мария [отчество и фамилия неуверенно].

Если целевой для исследования человек не первый в документе или в mentions[], карточка источника обязана содержать primaryPersonId. Именно этот человек показывается в заголовке Record. Порядок mentions[] может сохранять порядок исходного текста: сосед по строке, свидетель, допрашиваемый, писец или скрепивший дело дьяк не должен становиться героем карточки только потому, что назван раньше.

Архивная опись, алфавитный указатель и другая поисковая подсказка — не Record о человеке. Для них задаётся recordType: finding-aid-entry или другой тип с префиксом finding-aid-. Подтверждённая ложная привязка хранится как event.type: negative-finding. Обе категории исключаются из пользовательского каталога записей.

4.1. Отдельные профили только для фамильного ряда

Карточки в data/genealogy/people/ создаются только для людей фамильного ряда проекта: носителей исследуемых фамилий и доказанно отождествлённых представителей этого рода. Супруги без исследуемой фамилии, восприемники, свидетели, поручители, духовенство, чиновники и прочие контекстные участники обязательно сохраняются отдельными полными объектами в mentions[], но не получают самостоятельный people-профиль только из-за появления в документе.

Если собственная фамилия женщины не названа, фамилию мужа нельзя использовать как основание для создания её отдельного профиля. В таком упоминании personId остаётся null, пока иной надёжный источник не докажет её принадлежность к фамильному ряду или не даст самостоятельную исследуемую фамилию.

То же ограничение действует для географических и миграционных сущностей: отдельные точки карты, маршруты переселения и публичные миграционные сюжеты создаются только для фамильного ряда. Контекстные места остальных участников сохраняются внутри mentions[].places[] ссылками на уже существующий индекс мест, но сами по себе не являются основанием создавать новую карту, маршрут или миграционную карточку.

5. Полная расшифровка

transcription.literal содержит полный относящийся к записи текст, а не только имя искомого человека. В него входят:

  • номера строк и раздельные порядковые номера по полу;
  • даты рождения, крещения, брака, смерти и погребения;
  • имя ребёнка, супругов или умершего;
  • родители;
  • вероисповедание, сословие, занятие и место приписки;
  • восприемники, свидетели и поручители;
  • духовенство, подписи и пометы;
  • исправления, повторительные знаки и заметные особенности таблицы.

Расшифровка сохраняет историческое написание фамилии. Нечитаемые места обозначаются квадратными скобками; сомнительное чтение не выдаётся за точное. Статус complete-with-uncertainties допустим только при полной обработке строки, когда оставшиеся сомнения явно перечислены.

transcription.modernInterpretation, структурированные fields и summary используют основные современные имена, выбранные по правилам выше. Они не подменяют буквальную расшифровку.

5.1. Контекст службы и составления документа

Для десятен, сметных, смотренных, разборных, верстальных, раздаточных, крестоприводных и полковых книг Record по возможности содержит отдельный раздел Контекст службы или события. В нём нужно установить:

  • кто отвечал за смотр, разбор, верстание или составление книги;
  • должность этого человека и основание для её указания;
  • был ли это местный смотр готовности, первое верстание новиков, денежная раздача, присяга, сбор походного полка или иной вид действия;
  • где происходил сбор и назван ли дальнейший полк, город или направление похода;
  • какую служебную категорию прямо имеет исследуемый человек;
  • какой исторический эпизод объясняет появление документа.

Нельзя автоматически называть всякого молодого или впервые найденного человека новиком: нужны рубрика, формула верстания или прямое слово источника. Нельзя также превращать имя воеводы из заголовка книги в утверждение, что он лично прочитал или записал каждую строку. Если походное назначение, непосредственный проверяющий или писец неизвестны, Record должен прямо обозначить этот предел.

5.2. Историческое летосчисление

В пользовательском event.date.display первой указывается дата по современному летосчислению, а год от Сотворения мира — следом в скобках:

  • правильно: 1646/1647 год (7155);
  • неправильно: 1646/47 год (7155) или 7155 год (1646/1647).

Буквальная дата документа при этом сохраняется без перестановки в transcription.literal, date_original или другом источниковом поле. Если месяц неизвестен и старый год охватывает части двух современных лет, нельзя сводить его к одному из них: используется форма 1646/1647 год (7155). Второй год всегда пишется полностью: 1594/1595, 1620/1621, 1685—1686; сокращения 1594/95 и 1685—86 в пользовательских полях запрещены.

6. Места

Для события обязательно сохраняются как минимум документальная или контекстная форма места и нормализованное название:

  • event.place.asWritten или event.place.asTranscribed;
  • event.place.normalized;
  • event.place.placeId — обязательная ссылка на запись в data/genealogy/places/index.json; координаты в JSON источника не копируются.

Если точное положение исторического селения пока неизвестно, в индекс можно внести центр волости, района или ближайший уверенно установленный ориентир. Для такой точки обязательно указываются приблизительная geo.precision, низкая confidence и пояснение в note.

Географические теги обязательны и записываются ссылками на единый индекс мест:

  • event.place.placeId — место события;
  • mentions[].places[].placeId — происхождение, проживание, регистрация или сословно-территориальная приписка конкретного участника;
  • для каждой связи участника указываются relation или type, документальная форма asWritten, нормализованная форма и confidence.

Каждый используемый placeId должен существовать в data/genealogy/places/index.json. Если в источнике известна только губерния, нельзя молча ставить точку конкретного города как точное место: создаётся региональный тег с geo.precision: region, низкой уверенностью и пояснением.

Место события, место хранения документа, происхождение человека, проживание и сословно-территориальная приписка — разные утверждения. Их нельзя автоматически подменять друг другом. Места, относящиеся к человеку, хранятся в mentions[].places[] с указанием типа связи.

7. Изображения FamilySearch

Для каждой обработанной записи сохраняются локальные доказательства:

  1. полноэкранный обзор всего разворота или страницы;
  2. увеличенный полноэкранный фрагмент целевой строки;
  3. дополнительные фрагменты с датами, родителями, восприемниками, свидетелями, духовенством и подписями, если они не помещаются в один кадр.

Перед снимком закрываются боковые панели и лента миниатюр. Нужно дождаться загрузки резких тайлов. Каждый файл сохраняется в проекте, указывается в evidence или evidence.fragments[] и получает SHA-256. Наличие локальной копии не означает права публичного показа; до отдельной проверки используется publicDisplay: false.

8. Индекс FamilySearch и оригинал

Индекс FamilySearch — поисковая подсказка, а не замена оригинала. При расхождении приоритет имеют видимое изображение и архивный контекст. Ошибка индекса сохраняется в indexData и поясняется в предупреждении, но не переносится в основное имя или место как установленный факт.

Если индекс привязан к неверному изображению, карточка получает соответствующий статус и не объединяется с другой записью до нахождения правильного скана.

Карточка обязана сохранять технический индекс источника:

  • collection.imageGroupNumber, collection.itemNumber и collection.imageNumber;
  • indexData.recordId, индексные имена основных участников, индексную дату и место;
  • indexData.indexWarning или indexData.warning с перечислением пропусков и ошибок индекса;
  • repository с названием архива, местом хранения и атрибуцией FamilySearch, если они видны в панели информации.

Устаревшие поля digitalFilmNumber, digitalFolderNumber и item можно сохранять для совместимости, но они не заменяют канонические imageGroupNumber и itemNumber.

8.1. Текст о переселениях

Каждая карточка описывает собственный документированный маршрут Ампилоговых: место выхода, место назначения, дату или период, состав семьи, сословие, причину переселения, административный этап, приказ, реформу и архивный источник — в той мере, в какой это установлено документами.

Тимошовка остаётся приоритетом исследования. Каждое направление переселения описывается самостоятельно и по существу: кто переселялся, откуда и куда, когда, с каким составом семьи, на каком административном основании и по какому источнику. В публичный текст не добавляются посторонние сравнения с другими ветвями, если они не раскрывают документированный маршрут или семейную связь.

9. Проверка перед завершением

После обработки серии карточек необходимо:

  • проверить JSON всех изменённых файлов;
  • убедиться в уникальности mentionId;
  • проверить наличие мест и полных расшифровок;
  • проверить существование локальных изображений и соответствие SHA-256;
  • пересобрать индекс просмотренных FamilySearch-записей;
  • отдельно просмотреть все автоматические изменения основных фамилий;
  • проверить пользовательские тексты на ненужные отрицательные сопоставления каждого маршрута с Тимошовкой или Таврией;
  • проверить, что displayName и modernName имеют порядок «имя, отчество, фамилия», а известная surname.normalized не стоит первым словом;
  • запустить аудит ссылок между источниками, профилями, семьями и индексом мест.

Автоматический скрипт не имеет права объявлять Анпилогов или Анпилов ошибкой писца без уже записанного доказательства идентичности человека. Он также не имеет права менять порядок слов в nameAsTranscribed, nameAsIndexed, nameAsWritten и nameAsSupplied.

10. Яндекс Архив

Для каждой записи, найденной через Яндекс Архив, в карточке обязательна прямая ссылка на страницу документа вида https://yandex.ru/archive/catalog/<catalog-id>/<scan-number>. Ссылка на поисковую выдачу или одна локальная копия не заменяют прямую ссылку на Яндекс. Она сохраняется и при совпадении документа с уже существующим Record: в этом случае Яндекс добавляется как дополнительный способ открыть тот же источник, а дублирующая карточка не создаётся.

Распознанный Яндексом фрагмент является поисковой подсказкой. Имена, даты, отношения и места переносятся в установленные поля только после просмотра изображения. Буквальная расшифровка документа и современная интерпретация оформляются раздельно по общим правилам проекта.

Локальную резервную копию изображения можно сохранить в public/archive/evidence/yandex/, но до отдельного подтверждения прав она обязательно получает publicDisplay: false. Такая копия служит внутренним доказательством и запасным вариантом; пользовательский интерфейс не должен показывать её как опубликованное изображение. В карточке сохраняются прямой URL Яндекса, локальный путь, SHA-256 и примечание о правах.

При массовом поиске ведётся постраничный журнал. Для каждого результата в нём сохраняются номер страницы и позиция, catalog-id, номер скана, архивный шифр, прямая ссылка и решение: новая запись, дополнение существующей, нерелевантный результат либо отложенная проверка. Страница считается завершённой только после проверки всех её результатов и внесения этих решений в журнал.