Устаревшая документация: модель v5.17, диаграммы по частям, сделанное — в сделанное (#60) #61

Merged
aep merged 2 commits from feat/60-outdated-docs into main 2026-10-07 22:38:17 +03:00
Owner

Closes #60.

Bounded-задача: аудит устаревшей документации 07.10.2026. Без OpenSpec change.

Что сделано

  • Источник истины → v5.17: openspec/config.yaml (контекст каждого change'а), context/KICKOFF-PROMPT.md, 00-workspace-layout.md, 08-source-docs-index.md, заголовок 05-domain-rules.md, dev/checks.md. Спека quality-checks больше не привязана к версии модели: путь к DBML берётся из переменной DBML в Makefile.
  • Диаграммы model/diagrams/part01…09 перерисованы по v5.17 (были v5.12: не было permission, role_permission, document, kind, counterparty_match_kind, kpp, оставалась удалённая osv_group_schema). Новый скрипт scripts/gen_model_diagrams.py взят из gen_parts.py владельца: он делит DBML на 9 частей, рендерит SVG через @softwaretechnik/dbml-renderer@1.0.31 (это тот же генератор, graphviz 2.47) и PNG через @resvg/resvg-js-cli (ширина 2200, белый фон). Запуск — make diagrams. Раскладка частей совпадает с 04-data-model-guide.md. Если в DBML появится таблица, не отнесённая ни к одной части, скрипт падает с ошибкой.
  • dev/frontend-api-guide.md: КПП (arm-core #52) и DB_SCHEMA (#53) перенесены из §11 «Что изменится» в §1 «Что изменилось». КПП добавлен в маршруты §5.2/§5.3, в схему §5.8 и в каталог ошибок §9 (INVALID_KPP). Всё сверено с кодом arm-core 99669cd. Хвост docs#59.
  • Битые ссылки: dev/README.md → архив slice-0 (docs#58 O-4); dev/checks.md, api-contract-slice-3b.md, api-contract-slice-4.md → заархивированные change'и; в индексе исправлен путь к v4 DBML (source/tz/).
  • 09-delivery-plan.md: статусы Срезов 0, 2d, 3b, 4; добавлено примечание, что change'и закрытых срезов теперь лежат в archive/<дата>-<id>.

Проверки

  • make validate-contracts: 10 примеров, всё валидно.
  • openspec validate --specs --strict: 3 passed.
  • make diagrams два прогона подряд дают одинаковый результат; новые сущности есть на диаграммах (permission/role_permission → part02, document → part04 и связи, counterparty_match_kind → part05, kpp → part01).
  • ruff check скрипта чистый.

Rulings I made

  • R-1 — спеку openspec/specs/quality-checks/spec.md правил напрямую, без change: это bounded-правка устаревшей версии. Вместо новой закреплённой версии там теперь ссылка на переменную DBML, чтобы спека не устаревала при каждом новом DBML. Если это ошибка, на поведение не влияет, вернуть просто.
  • R-2 — document отнесён к part04 (файлы), permission/role_permission — к part02, как в таблице «Девять частей» 04-data-model-guide.md.
  • R-3 — версии npm-пакетов рендера закреплены. Новые PNG — RGBA с белым фоном (старые были RGB), визуально такие же.
  • R-4 — в 09-delivery-plan.md исторические пути к change'ам не пер��писывал построчно, добавил одно примечание про archive/. В dev/ ссылки исправлены точечно: туда обращаются при работе.
  • R-5 — исходный gen_parts.py в корне workspace не трогал, скрипт в репозитории — его доработанная копия.

Вне объёма (отдельные PR)

  • arm-core: openspec/specs/data-model/spec.md требует «DBML v5.16, схема dkb», хотя после #52/#53 это v5.17 и настраиваемая схема; directories-api/spec.md ссылается на v5.14.
  • tabular-parser, scan-gateway: openspec/config.yaml ссылается на v5.13.
  • docs#59 #52 O-2, #53 O-4 и docs#58 O-1/O-3/O-5 этот PR не закрывает.

🤖 Generated with Claude Code

https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2

Closes #60. Bounded-задача: аудит устаревшей документации 07.10.2026. Без OpenSpec change. ## Что сделано - **Источник истины → v5.17**: `openspec/config.yaml` (контекст каждого change'а), `context/KICKOFF-PROMPT.md`, `00-workspace-layout.md`, `08-source-docs-index.md`, заголовок `05-domain-rules.md`, `dev/checks.md`. Спека `quality-checks` больше не привязана к версии модели: путь к DBML берётся из переменной `DBML` в Makefile. - **Диаграммы `model/diagrams/part01…09` перерисованы по v5.17** (были v5.12: не было `permission`, `role_permission`, `document`, `kind`, `counterparty_match_kind`, `kpp`, оставалась удалённая `osv_group_schema`). Новый скрипт `scripts/gen_model_diagrams.py` взят из `gen_parts.py` владельца: он делит DBML на 9 частей, рендерит SVG через `@softwaretechnik/dbml-renderer@1.0.31` (это тот же генератор, graphviz 2.47) и PNG через `@resvg/resvg-js-cli` (ширина 2200, белый фон). Запуск — `make diagrams`. Раскладка частей совпадает с `04-data-model-guide.md`. Если в DBML появится таблица, не отнесённая ни к одной части, скрипт падает с ошибкой. - **`dev/frontend-api-guide.md`**: КПП (arm-core #52) и DB_SCHEMA (#53) перенесены из §11 «Что изменится» в §1 «Что изменилось». КПП добавлен в маршруты §5.2/§5.3, в схему §5.8 и в каталог ошибок §9 (`INVALID_KPP`). Всё сверено с кодом arm-core `99669cd`. Хвост docs#59. - **Битые ссылки**: `dev/README.md` → архив slice-0 (docs#58 O-4); `dev/checks.md`, `api-contract-slice-3b.md`, `api-contract-slice-4.md` → заархивированные change'и; в индексе исправлен путь к v4 DBML (`source/tz/`). - **`09-delivery-plan.md`**: статусы Срезов 0, 2d, 3b, 4; добавлено примечание, что change'и закрытых срезов теперь лежат в `archive/<дата>-<id>`. ## Проверки - `make validate-contracts`: 10 примеров, всё валидно. - `openspec validate --specs --strict`: 3 passed. - `make diagrams` два прогона подряд дают одинаковый результат; новые сущности есть на диаграммах (`permission`/`role_permission` → part02, `document` → part04 и связи, `counterparty_match_kind` → part05, `kpp` → part01). - `ruff check` скрипта чистый. ## Rulings I made - **R-1** — спеку `openspec/specs/quality-checks/spec.md` правил напрямую, без change: это bounded-правка устаревшей версии. Вместо новой закреплённой версии там теперь ссылка на переменную `DBML`, чтобы спека не устаревала при каждом новом DBML. Если это ошибка, на поведение не влияет, вернуть просто. - **R-2** — `document` отнесён к part04 (файлы), `permission`/`role_permission` — к part02, как в таблице «Девять частей» `04-data-model-guide.md`. - **R-3** — версии npm-пакетов рендера закреплены. Новые PNG — RGBA с белым фоном (старые были RGB), визуально такие же. - **R-4** — в `09-delivery-plan.md` исторические пути к change'ам не пер��писывал построчно, добавил одно примечание про `archive/`. В `dev/` ссылки исправлены точечно: туда обращаются при работе. - **R-5** — исходный `gen_parts.py` в корне workspace не трогал, скрипт в репозитории — его доработанная копия. ## Вне объёма (отдельные PR) - arm-core: `openspec/specs/data-model/spec.md` требует «DBML v5.16, схема `dkb`», хотя после #52/#53 это v5.17 и настраиваемая схема; `directories-api/spec.md` ссылается на v5.14. - tabular-parser, scan-gateway: `openspec/config.yaml` ссылается на v5.13. - docs#59 #52 O-2, #53 O-4 и docs#58 O-1/O-3/O-5 этот PR не закрывает. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
aep added 2 commits 2026-10-07 22:36:58 +03:00
- Ссылки на источник истины v5.13/v5.14/v5.15 → v5.17: openspec/config.yaml, KICKOFF-PROMPT, 00-workspace-layout,
  08-source-docs-index, заголовок 05-domain-rules, dev/checks.md; спека quality-checks — без привязки к версии
  (путь — переменная DBML Makefile).
- Диаграммы model/diagrams/part01…09 перерисованы по v5.17 (были v5.12): scripts/gen_model_diagrams.py
  (разбиение DBML на части + dbml-renderer + resvg через npx, версии закреплены), цель make diagrams;
  описание в 04-data-model-guide, 06-test-data, 08-source-docs-index.
- dev/frontend-api-guide.md: КПП (arm-core #52) и DB_SCHEMA (#53) — из §11 в §1, КПП в маршрутах §5.2/§5.3,
  схеме §5.8 и каталоге ошибок §9 (сверено с кодом 99669cd).
- Ссылки на заархивированные change'и (dev/README, dev/checks, api-contract-slice-3b/4), путь к v4 DBML в индексе.
- 09-delivery-plan: статусы Срезов 0, 2d, 3b, 4.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
aep merged commit 4ca1c373b5 into main 2026-10-07 22:38:17 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-ka-docs#61
No description provided.