Карта екранів: яке питання ставить кожен¶
Застосунок складено з екранів, кожен з яких відповідає рівно на одне питання. Плутати їх дорого не тому, що це неохайно, а тому, що «немає» в них означає різне — і на чужому «немає» закривають напрям, якого ніхто не перевіряв.
| екран | питання | «немає» означає |
|---|---|---|
| 🐾 Дослідження | де я стою й куди воно рухається | «у цьому просторі ще нічого немає» — і тоді екран стає онбордингом |
| 🎯 Рід | чиє прізвище шукаємо і в яких написаннях | «рід ще не названо» — нормальний стан свіжої установки, а не поламка |
| 🔎 Каталоги | де це є в чужих довідниках | «немає в тих каталогах, куди ми змогли зазирнути» |
| 🗺 Газетир | де документи мого СЕЛА | «немає у встановлених довідниках» |
| 🏛 Описи фондів | що взагалі існує в архіві | «в архіві не існує» |
| 📚 Бібліотека | що я маю на руках | «ще не завантажено» |
| 📥 Приймальня | що лежить на диску нічим | «неописаного матеріалу немає» |
| 📜 Прогони | чим і наскільки прочитано | «цю справу ще не читали машиною» |
| 🖼 Аркуші | що це за папери | «у цій теці нема чого показати» |
| 📄 Гортач | що саме прочитала машина | «цієї сторінки в прогоні немає» |
| 🔎 Пошук | де в прочитаному моє прізвище | залежить від сховища — див. канали пошуку |
| 👁 Облік | що я вже бачив оком | «цього аркуша ще не переглядали» |
🐾 Дослідження — два екрани під одним іменем¶
Головна відповідає на різні питання залежно від того, чи в просторі щось є, і це не косметика:
- простір порожній (реєстру немає або в ньому жодної справи) — три двері: «у мене є скани», «не знаю, де шукати», «перевірити цю машину». Людині, яка щойно поставила застосунок, потрібні входи, а не таблиця нулів.
- простір наповнений — дашборд: плитки-показники зі спарклайном і приростом за тиждень, поступ читання й пошуку смугами, розбір канону (факти за типом і за десятиліттями подій, прізвища, факти без цитати), прогони за рушіями й моделями, розрізи матеріалу за архівами й повітами, крива росту в часі, стан черги, профіль дослідження. Двері лишаються внизу як швидкі дії.
Кожен блок гейтиться секцією: при вимкненому «Читанні» блок прогонів зникає, а не показує нулі — нуль прочитаних сторінок там, де читання вимкнено, означав би «нічого не прочитано» замість «питання не стояло».
Час у дашборді — це ДВІ різні осі¶
Плутати їх дорого, тому вони й намальовані по-різному:
- сходинки («У часі») — дні, коли ми про щось дізнались. Джерело —
data/derived/history.jsonl(core.history), і він записує спостереження, а не кожну зміну: дірка в лінії — це дні без спостережень. Ліва частина кривої — пунктир: вона відновлена з міток на диску (мети прогонів, дати заміток ока, git-історія канону), тобто реконструкція, а не замір. - стовпчики («Факти за десятиліттями подій») — роки самих подій у каноні. Це відповідь на «який період роду вже описано», і до темпу роботи вона стосунку не має.
🎯 Рід — єдине, чого застосунок не може вгадати¶
Прізвище, парадигма й написання по орфографіях приходять від ЛЮДИНИ. Вивести їх нема з чого: рос. «Лищин» → укр. «Ліщин» міняє першу «и», але не «и» в закінченні, і позиція залежить від історії слова, а не від правила. Вгадана основа мовчки викидає половину написань із пошуку — і нуль після цього виглядає як відповідь.
⚠ Чого профіль НЕ робить: не підставляє чуже прізвище замість вашого. q у
пошуку обов'язкове, дефолтного прізвища в пакеті немає ніде. Ціна відсутнього
профілю тихіша: усі написання доводиться пригадувати самому, а рушій
калічить саме середину слова.
🔴 Форма знає п'ять полів, файл — одинадцять. Конфузери, зниження рангу, рецепт синтетики й якорі калібруються замірами на власному матеріалі, тож живуть текстом під «весь файл». І тому ж форма відмовляється правити профіль, у якому вона зачепила б щось поза цими п'ятьма полями або коментарі поруч із ними: у коментарях там і лежать заміри, а дамп їх не переносить — файл лишився б валідним, і втрата була б тихою.
Три реєстри й один ключ¶
Три з цих екранів — реєстри, і всі три тримаються на одному ключі
архів/фонд/справа (наприклад DAHMO/315/8433):
🏛 Описи фондів що існує в архіві 12 822 справи ф.315
│ рядок опису
│ ⬇ узяти ↓
📚 Бібліотека що є на диску 94 із них у нас
│ тека справи
│ 🖋 читати ↓
📜 Прогони що прочитано машиною два голоси, 412 сторінок
Ключ спільний, а сховища роздільні — і це рішення, а не недогляд. Реєстр опису не вливається в реєстр справ: 29 634 рядки без жодного кадру зіпсували б там кожен знаменник, і «прочитано 5%» стосувалося б книг, яких ніхто не бачив.
Приймальня стоїть збоку від цієї трійки: у ній матеріал без шифри, тобто без ключа. Поки тека не описана, вона невидима для бібліотеки, а отже й для всього далі — прогін по ній не прив'яжеться до справи. Саме тому єдина дія там — «описати».
Наскрізний шлях¶
Кожен крок веде кнопкою; жоден не вимагає набирати шифру руками.
- 🗺 Газетир — «де метрики Липовенького». Картка села перелічує справи по всіх фондах архіву й позначає ті, що вже на диску.
- 🏛 Описи фондів — «а що ще є в цьому фонді». У рядку: ⬇ узяти в роботу, 📚 показати в бібліотеці.
- 📚 Бібліотека — «що я маю». У рядку: 🖼 аркуші, 🖋 читати, 📜 прогони, 🔎 шукати в межах справи, 🏛 назад в опис.
- 🖋 Читання — прогін рушієм. План (скільки кадрів, яке письмо, яка модель) показується до запуску: справа читається годинами.
- 📜 Прогони — «чим і наскільки прочитано». Окремим блоком — прогони без справи, з кнопкою прив'язати.
- 📄 Гортач — текст поруч зі сканом, рамка рядка, другий голос.
- 🔎 Пошук → Розбір → 👁 Облік: кандидат, кроп, вердикт ока.
Пошук по прочитаному коштує по-різному¶
| що шукаємо | скільки триває | як іде |
|---|---|---|
| у межах однієї справи | частка секунди | синхронно, відповідь одразу |
| по всьому прочитаному | хвилини | роботою в черзі, з поступом і кнопкою спинити |
Різниця не в тому, ЩО робиться, а скільки. Щоб друге взагалі стало можливим,
прочитане індексується: по файлу на прогін у data/derived/decode_index/.
Індекс — похідне, його можна видалити будь-коли.
🔴 Пошук чеше лише зібране, і каже, скільки лишилось поза ним. «Не знайшлось у 876 прогонах із 1159» і «не знайшлось у 1159» — різні відповіді, і за другою закривають напрям, якого не перевіряли. Стан індексу видно на екрані пошуку до запиту, а не застереженням після нього.
Індекс щойно дочитаної справи збирається сам: бюджет — два десятки прогонів,
рівно стільки, скільки з'являється після звичайного читання. Решта — кнопкою
«Зібрати індекс» або nysh op search.index.
Що робити, коли екран порожній¶
Порожній екран у Нишпорці завжди каже, чого саме бракує і чим це ставиться. Три найчастіші випадки:
- Описи фондів порожні — реєстр опису не зібраний, а не фондів немає.
Збирання є на самому екрані (🧾) або командою
nysh registry collect, потімnysh registry merge— два кроки, і другий не необов'язковий: обхід кладе свій файл окремо, а реєстр з'являється аж після злиття. - Каталоги нічого не знаходять — подивіться на таблицю джерел під полем пошуку. Джерело, що вміє шукати й не має каталогу, названо там поіменно разом із командою, якою це лікується.
- Бібліотека порожня, а справи на диску є — реєстр не збирали
(
nysh cases build), або теки лежать без шифри й видимі в Приймальні.
Частини застосунку¶
Екрани згруповані в секції, і секцію можна вимкнути цілком (⚙ → «Частини застосунку»). Вимкнена секція зникає з шапки, а її дії відмовляють і в браузері, і в командному рядку, і в агента — напівстан («кнопки немає, але команда працює») читається як несправність.
| секція | екрани | навіщо вимикати |
|---|---|---|
| Основа | Дослідження · Приймальня · Завести справу · Роботи | не можна: без неї немає застосунку |
| Матеріали | Каталоги · Газетир · Описи фондів · Бібліотека · Аркуші | якщо працюєте лише з готовим декодом |
| Читання | Читання · Прогони · Гортач | якщо рушіїв на машині немає (економить ~2.5 ГБ) |
| Дослідження | Пошук · Розбір · Око · Експорт | якщо прізвища ще не шукаєте |
Готові набори — catalog, amateur, researcher, lab; вибираються в
майстрі першого запуску й міняються будь-коли.