docs(#116): столбец кодов — сначала по заголовку «Код» без порога, подсчёт ≥ 3 только без заголовка
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
d2572d2a6b
commit
2fa60ef924
@ -392,9 +392,9 @@ sheet:<A>,<B>`. `DISCLOSURE` и форма без колонки кодов —
|
||||
роль каждой строки сетки (`header` | `numbering` | `data`), сегменты (участки сетки между повторными шапками, у
|
||||
каждого своя раскладка колонок).
|
||||
|
||||
- **1. Что считается кодом при поиске столбца** — одно правило: 4–5 цифр (допускается `.0`), первые четыре — в диапазонах словаря кодов всех форм (`type_hint` неизвестен — объединение диапазонов); столбец с наибольшим числом кодов, кодов ≥ 3, доля среди непустых ≥ порога; нет — «колонка кодов не найдена»
|
||||
- scan-gateway: `int(text)` → правило словаря (закрывает AURORA-1517 вместе с п. 5)
|
||||
- tabular-parser: диапазон формы → объединение; `relaxed` для одиноких продолжений не нужен (они склеены в шаге 1)
|
||||
- **1. Что считается кодом при поиске столбца** — одно правило в два прохода (уточнено по вопросу владельца 17.10.2026): (1) есть строка заголовка с ячейкой «Код» / «Код строки» → столбец кодов под ней, без порога по числу кодов — документ из двух строк остаётся документом, нечитаемые коды становятся строками `unreadable` (так шлюз сейчас); (2) заголовка нет → столбец с наибольшим числом ячеек-кодов, кодов ≥ 3, доля среди непустых ≥ порога (так парсер сейчас); нет — «колонка кодов не найдена». Код — 4–5 цифр (допускается `.0`), первые четыре в диапазонах словаря кодов всех форм (`type_hint` неизвестен — объединение диапазонов)
|
||||
- scan-gateway: проход по заголовку — как сейчас; в запасном подсчёте `int(text)` → правило словаря (закрывает AURORA-1517 вместе с п. 5)
|
||||
- tabular-parser: добавляет проход по заголовку до подсчёта; диапазон формы → объединение; `relaxed` для одиноких продолжений не нужен (они склеены в шаге 1)
|
||||
- **2. Повторная шапка внутри таблицы** — одно правило: строка внутри сетки с признаком шапки («Код» / та же сигнатура) открывает новый сегмент; у сегмента своя раскладка (позиции колонок могут сдвинуться); колонки значений сегментов сопоставляются по порядку; число не совпало — предупреждение, значения по позиции
|
||||
- scan-gateway: как сейчас, через общее правило
|
||||
- tabular-parser: добавляет: бывший «лист-продолжение со своей раскладкой» становится сегментом
|
||||
@ -636,9 +636,10 @@ column_index?}`, а не строка.
|
||||
правится таблицей уровней в спеке.
|
||||
2. **`DISCLOSURE` всегда `done`** без условий о раскладке, строках и проверках — сохранено текущее поведение парсера.
|
||||
Цена: пояснения не проверяются; так и сейчас.
|
||||
3. **Порог столбца кодов** — «кодов ≥ 3 и доля среди непустых ≥ порога» взят у парсера как есть; `relaxed` для одиноких
|
||||
продолжений снят, потому что продолжения склеиваются в шаге 1. Цена: таблица с одним-двумя кодами без столбца кодов
|
||||
→ документ без строк с `needs_check`.
|
||||
3. **Порог столбца кодов** — «кодов ≥ 3 и доля среди непустых ≥ порога» взят у парсера и действует только в запасном
|
||||
проходе без заголовка «Код»; по заголовку порога нет (уточнено с владельцем 17.10.2026, шаг 2 п. 1). `relaxed` для
|
||||
одиноких продолжений снят, потому что продолжения склеиваются в шаге 1. Цена: таблица без заголовка и с одним-двумя
|
||||
кодами → документ без строк с `needs_check`.
|
||||
4. **Начальный словарь исключений подписей** («Изменение», «Отклонение», «%», «Темп», «Доля», «Примечание») — по тестам
|
||||
парсера; пополняется словарём, не кодом.
|
||||
5. **Грамматика `locator`** — пары `ключ:значение` через `;`, ключи по источнику. Цена: минимальная, формат уже такой.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user