arm-core/openspec/config.yaml
Andrey Epifancev 98f00c0faa docs: change retry-recognition-and-edit-osv-header, README и CLAUDE.md — DBML v5.21 (ревью #161)
Дельта data-model переименована на v5.21, пакет — только файлы в ERROR,
tasks — ссылки на docs PR #157 и задачи ревью; config.yaml — DBML v5.21.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 17:13:41 +04:00

41 lines
3.9 KiB
YAML
Raw Permalink 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-core — часть системы АРМ КА (ДКБ, Россельхозбанк): ядро (FastAPI + React), единственный писатель в PostgreSQL: справочники, файлы/документы, маппинг результатов распознавания, вычисления консолидации, согласование, ЕХ, аудит, права.
Workspace из нескольких репозиториев; общий контекст — ../CLAUDE.md и ../docs/ (репозиторий arm-ka-docs).
Источники истины по приоритету: ../docs/model/data-model-v5.21.dbml → ../docs/model/entities-v5.21.md →
../docs/context/05-domain-rules.md → страницы ТЗ в ../docs/source/tz (черновик, старые имена v4).
Открытые вопросы — ../docs/context/07-open-questions.md; план срезов — ../docs/context/09-delivery-plan.md.
Фикстуры — ../fixtures (реальные данные, не спецификация формата).
Стек: Python 3.11, FastAPI, SQLAlchemy 2 async + Alembic, PostgreSQL 16, pydantic v2, NATS без JetStream (ack и повторы — на уровне приложения), S3 (MinIO, miniopy-async),
loguru; фронт — React + TypeScript, rsbuild, antd, Redux Toolkit, biome. Язык документов и коммитов — русский,
идентификаторы — английские, как в DBML.
rules:
proposal:
- Указывать номер среза из 09-delivery-plan.md и затронутые репозитории; сквозные изменения — отдельный change в ../docs
- Перечислять таблицы текущей DBML (сейчас v5.21), которые затрагиваются; поля вне DBML не вводить — сначала новая версия DBML
- Ссылаться на параграфы 05-domain-rules.md для каждого алгоритма; правило, которого там нет, — в 07-open-questions.md
- Раздел «Non-goals» обязателен
- Любое допущение по открытому вопросу помечать ASSUMPTION(OQ-nn)
specs:
- Сценарии на реальных фикстурах из ../fixtures, синтетика — только для форматов, которых там нет
- "Для парсеров: ни одного требования, завязанного на букву колонки, номер строки или имя листа"
design:
- Вычисляемые объекты консолидации (сводная ОСВ, пары ВГО, шахматка) — чистые функции в domain/, без ORM-таблиц
- Деньги — Decimal / numeric(18,2); единицы измерения (руб. / тыс. руб.) указывать явно
tasks:
- Задачи не больше половины дня, с указанием репозитория и файлов
- Первые задачи — тесты и фикстуры, затем реализация
- Последняя задача среза — обновление docs (03-architecture, 07-open-questions) и README
operations:
apply:
guidance:
- Работать в ветке; git -C <repo>; один PR на репозиторий
- Перед кодом перечитать затрагиваемые таблицы DBML и параграфы 05-domain-rules.md
- После изменений прогонять линтеры и тесты репозитория; для web — tsc, biome, rsbuild build
archive:
guidance:
- "Перед архивированием: DoD среза из ../CLAUDE.md выполнен, открытые вопросы занесены в 07-open-questions.md"