Andrey Epifancev 656486a7d2 OpenSpec change osv-indicator-column и план (#58)
Колонка «Показатели», строки-показатели, «В валюте», BU по умолчанию (AURORA-1613, AURORA-1661 — валютная часть).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 11:03:13 +04:00

2.2 KiB
Raw Blame History

Tasks: колонка «Показатели» и валютные строки ОСВ

План исполнения — docs/superpowers/plans/2026-10-19-osv-indicator-column.md (задачи 1–8, модели исполнителей там).

1. Словари

  • 1.1 api/rules/osv_headers.yaml — service_columns.indicator; api/rules/data_types.yaml — indicator_column, indicator_column_untyped, row: «В валюте»; src/parser/rules.py — поля DataTypeRules; тесты test_rules.py

2. Синтетика

  • 2.1 tests/synthetic/generate.py — s40–s43 (_grid_osv); tests/synthetic/test_synthetic_files.py — ожидания и сценарии (сначала красные); файлы в ../fixtures/osv/synthetic/

3. Колонка «Показатели» в заголовке

  • 3.1 src/parser/detect.py — TableHeader.indicator_col; тест test_detect.py

4. Строки-показатели при сборе строк

  • 4.1 src/parser/hierarchy.py (BodyRow), новый src/parser/indicators.py (read_label), src/parser/classify.py (collect_body_rows, _label_cols, _trailing_totals); тесты test_classify.py, test_indicators.py

5. Иерархия

  • 5.1 indicators.levels_with_indicators, osv.py (вызов), inn_rows._kind; тест test_indicators.py

6. Классификация и проверки

  • 6.1 classify.py (_Kind, ClassifiedRow.indicator, вид данных строки), checks.py (_is_indicator, _total), osv.py (предупреждение «приняты как БУ»); тесты test_classify.py, test_checks.py

7. Регрессия и реальные файлы

  • 7.1 Синтетика зелёная; make golden-check — снимки реальных файлов и s01–s32 без изменений; make golden-update только для s40–s43; локальная сверка файлов контура (не в git)

8. Документация и проверки

  • 8.1 README (раздел «Парсер ОСВ»), ../docs/context/06-test-data.md §7 (s40–s43), make check-full