arm-ka-docs/openspec/config.yaml
Andrey Epifancev f9240fd351 DBML v5.24: таблица vgo_assignment (AURORA-1751/1540/1541, #196), §5/§8 под факт реализации
Миграция 0011_dbml_v5_24 (vgo_assignment) уже была слита в arm-core main;
docs/model/data-model-v5.24.dbml не существовал — arm-core-dbml-check
красный в регрессии 2026-11-02_2131. Таблица описана по факту ORM/миграции
(dbml_parity.py уже содержал хардкод под это: поля side нет — решение
зафиксировано).

Заодно приведены в соответствие с уже слитым кодом:
- 05-domain-rules.md §5: экран «Пары ВГО» (elimination-totals/pairs) оставлен
  как есть (двойной учёт — известное ограничение, из UI убран), добавлен
  п. 2a — разнесение строк в «Таблице корректировок» (vgo_assignment),
  которое и решает двойной учёт исключением спорной строки до ручного
  решения аналитика;
- §8: корректировка — массивы debit[]/credit[], всегда APPLIED, без
  REVOKED, оптимистичная блокировка по version_no, порог строго > 5 % (R-35);
- OQ-178: открытый вопрос "включительно или нет" (ТЗ/DOC-272613 против
  факта реализации) зафиксирован отдельно от уже закрытого OQ-174;
- analyst/eliminations-vgo.md, dev/api-contract-corrections.md/goodwill.md,
  context/*, Makefile, openspec/config.yaml, repo-templates/arm-core.CLAUDE.md —
  версия 5.23 → 5.24; диаграмма part08 перерисована.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-11-02 23:09:32 +04:00

36 lines
3.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

schema: spec-driven
context: |
Репозиторий arm-ka-docs — контекст, модель данных (DBML v5.24), правила домена, контракты между сервисами
(docs/contracts/*.schema.json), макет UI и экспорт ТЗ системы АРМ КА (ДКБ, Россельхозбанк).
Здесь оформляются СКВОЗНЫЕ изменения: контракт + окружение разработки (docs/dev) + проверки качества (make check) + изменения
документов контекста. Код сервисов живёт в соседних репозиториях (../arm-core, ../tabular-parser, ../scan-gateway),
у каждого свой openspec/ и свой change; сквозной change ссылается на них.
Источники истины по приоритету: docs/model/data-model-v5.24.dbml → docs/model/entities-v5.24.md →
docs/context/05-domain-rules.md → docs/source/tz (черновик, имена v4). Открытые вопросы — docs/context/07-open-questions.md;
план срезов — docs/context/09-delivery-plan.md; соглашения шаблона команды — docs/context/03-architecture.md.
Язык документов и коммитов — русский, идентификаторы — английские, как в DBML. docs/source/** не редактируется.
rules:
proposal:
- Указывать номер среза из 09-delivery-plan.md и перечислять дочерние change'и в сервисных репозиториях
- "Изменение контракта = новая schema_version; перечислять сервисы, которые его читают и пишут"
- Раздел «Non-goals» обязателен
- Любое допущение по открытому вопросу помечать ASSUMPTION(OQ-nn)
specs:
- "Требования к контракту — через JSON Schema и примеры из ../fixtures; требования к окружению — через наблюдаемое поведение (сервис стартует, бакет существует, сообщение доставлено)"
design:
- "Раздел «Decisions made without discussion» обязателен: дата, решение, обоснование, цена ошибки"
tasks:
- Задачи не больше половины дня, с указанием репозитория и файлов, в порядке зависимостей между репозиториями
- Последняя задача — обновление документов контекста (03-architecture, 07-open-questions, 09-delivery-plan)
operations:
apply:
guidance:
- Работать в ветке (worktree); git -C <repo>; один PR на репозиторий; в описании PR указывать связанные PR
- Файлы docs/source/** не трогать
archive:
guidance:
- "Перед архивированием: дочерние change'и сервисов заархивированы или явно перенесены в следующий срез"