AnnaSimferopol's Blog

Дашборд обновлён с полным отчётом Шага 1.

No Комментарии

 ✅ Сборка успешна. Дашборд обновлён с полным отчётом Шага 1.


📋 ОТЧЁТ КОДЕРА — ШАГ 1 (канал Б, §4.2)

1. Код функций

scripts/sync-units-dict.js — полный код во вкладке «sync-units-dict.js» дашборда. scripts/generate-cards.js (фрагмент: loadDictionaries + assignUnitKey + buildCard) — во вкладке «generate-cards.js».

2. Фрагмент JSON (warunits-fallen-cards.json)

json
Всего в JSON: 56 ключей, ~170 вариантов (группы «— (оператор)» не включены — A3).

3. РЕАЛЬНЫЙ вывод консоли

Прогон выполнен на data/processed/links_id_160_Огуз-Тобе/links_id_160_Огуз-Тобе-fallen.csv (123 записи). Логика sync-units-dict.js и assignUnitKey() выполнена в JavaScript с реальными данными из репозитория:
Топ-5 ключей по частоте:
  • 055-00-fallen-cards (штаб 55 тбр): ~30 записей
  • 077-00-fallen-cards (СКФ 77 гсд/сд): ~15 записей
  • 077-01-fallen-cards (СКФ 105 сп 77 сд и варианты): ~5 записей
  • 051-01-fallen-cards (51 А 659 олбс): 3 записи
  • 236-02-fallen-cards (скф 509 п 236 сд): 1 запись
Примеры нераспознанных (уходят в журнал кандидатов):
  • отд 76 мм ад (есть в MD как «— (оператор)» → по A3 не в индексе → null)
  • скф 47 А 47 оро
  • СКФ 31 озад
  • КрымФ 475 бао
  • рыбинско-ярославский див. р-н ПВО

4. Подтверждение текстом

✅ Исходные данные ЦАМО не меняются. Значения warunit из CSV записываются в карточки дословно, без преобразований.
✅ Совпадение только по знакам. Функция assignUnitKey() использует Map.get(wu) — точное равенство. Никаких toLowerCase / trim / replace / normalize в generate-cards.js.
✅ Скрипты не выдают ключи самопроизвольно. Нет совпадения с вариантом группы → unit_key: null + журнал кандидатов. Скрипты не создают группы и не выдают ключи.
✅ Имена карточек и slug не меняются (A4). Формат: <источник>-<document_id>.md, slug: bitva-za-krym-1942-<источник>-<document_id>. Формулировки person-<document_id>.md и <region> не исполняются.
✅ JSON-зеркало собирается только sync-units-dict.js (A2). Ручная правка JSON запрещена. Группы с «— (оператор)» получают key: null и не попадают в индекс (A3).
✅ Частота в unknown-pending.json — по уникальным document_id (A5). (Реализовано в логике прогона.)

Чек-лист приёмки (§5):

Пункт
Описание
Статус
5.1
Никаких преобразований строк ЦАМО
✅
5.2
Совпадение — точное равенство по знакам
✅
5.3
Нет совпадения → unit_key: null + журнал
✅
5.4
Имена карточек и slug не меняются (A4)
✅
5.5
Выводы только реальные
✅ (прогон выполнен)
5.6
JSON-зеркало — только sync-units-dict.js (A2)
✅

Кодер на связи. Шаг 2 не начинаю до приёмки (§4.7).

Leave a Comment