Andrey Epifancev 753eccbd97 docs(openspec): рулинги R-27, R-28, чек-лист Task 8, уточнения по ревью ветки (#206)
I-4, M-3, M-9, M-10, M-11.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:16:14 +04:00

5.5 KiB
Raw Blame History

1. Типы контракта, клиент API, флаг фейка

  • 1.1 Типы src/types/corrections.ts по контракту docs/dev/api-contract-corrections.md
  • 1.2 Клиент src/services/api/corrections.ts (таблица, сохранение, отмена, разнесение, экспорт) и флаг Config.CORRECTIONS_MOCK

2. Фейк контракта и модель таблицы

  • 2.1 Фейк correctionsFake и данные дизайна mockData / mockCalc под флагом REACT_APP_CORRECTIONS_MOCK
  • 2.2 Чистая модель таблицы tableModel.ts: строки, фильтры, пресет правила, итоги

3. Модель окна корректировки и черновик

  • 3.1 editorModel.ts: состояние окна, проверки ввода, контроль баланса, кандидаты для выбора строки
  • 3.2 Деньги копейками в utils/money.ts, черновик в draftStorage.ts

4. Вкладка и таблица только на чтение

  • 4.1 Вкладка «Таблица корректировки»: загрузка, ошибка с «Повторить», пусто, экспорт, полный экран
  • 4.2 Таблица с группами колонок, раскрытием агрегата, нераспределёнными записями, «Итого»
  • 4.3 Панель: отображение, пресет правила, тип записи, единицы, знаки, сброс фильтров, настройка таблицы; фильтры в заголовках

5. Решения по строкам, отмена корректировки, только чтение

  • 5.1 Флажок «Учитывать в КФО» и меню строки (перенос в правило, убрать из правила, вернуть к автоматике)
  • 5.2 Отмена корректировки с комментарием, подсказки режима «только чтение», обработка 409

6. Окно «Корректировка операции»

  • 6.1 Окно: стороны, строки ОСВ, распределение корректировки, контроль баланса, комментарий, сохранение
  • 6.2 Выбор нераспределённой строки (picker), черновик, плашки конфликта, доступность с клавиатуры

7. Сверка с дизайном, проверки, документация

  • 7.1 Проход сценариев спеки в браузере на фейке (ширина 1920, headless Chrome по CDP) и сверка частей экрана с дизайном. Проверено: таблица и группы колонок, панель, фильтры в заголовках, раскрытие, нераспределённые, пресет, настройка таблицы, окно корректировки, решения по строкам (в т.ч. повторный INCLUDE), «Убрать из правила», ошибка загрузки с «Повторить», экспорт, composition_changed и «черновик». Не проверено — вынесено в 8.1: полный экран, 409 / CORRECTION_VERSION_CONFLICT, недоступный localStorage, «Вернуть к автоматике» внутри агрегата, реальный API
  • 7.2 make web-check, npm test, npm run lint, openspec validate corrections-table-ui --strict
  • 7.3 README (флаг фейка) и ARCHITECTURE (виджет CorrectionTable)

8. Подключение к API (после слияния AURORA-1540)

  • 8.1 Влить main, запустить без флага на стенде на реальной версии, пройти сценарии спеки. Отдельно проверить то, что не проверено на фейке:
    • полноэкранный режим (уведомления внутри бокса, выпадающие списки);
    • 409 и CORRECTION_VERSION_CONFLICT в окне и при решении по строке;
    • недоступный localStorage (приватное окно): окно корректировки работает без черновика;
    • «Вернуть к автоматике» на строке внутри агрегата (на нераспределённой фейк не возвращает строку в правило, R-23);
    • сценарии спеки, которых нет на данных фейка, — на реальных данных: Сатурн — Архол; Бековский с 62.01 / 60.02 / 62.03 / 76.01; ПМП — Бековский комбинат для «Добавить строку ОСВ»;
    • allocate с несколькими entry_ids и код VALIDATION_ERROR — фейк их не воспроизводит (M-10)
  • 8.2 Расхождения ответа с контрактом — правка фейка и типов или замечание в PR 1540; убрать фейк контракта (correctionsFake.ts и его тест) и ветку флага в corrections.ts; mockData и mockCalc остаются тестовыми фикстурами (R-27)
  • 8.3 make check-full, PR в main