docs(specs): archive dependency hygiene remediation

This commit is contained in:
2026-08-24 11:21:28 +03:00
parent 9f68ae5255
commit 8897bd9585
6 changed files with 415 additions and 0 deletions
@@ -0,0 +1,57 @@
# workspace-artifact-hygiene Specification
## Purpose
Определяет проверяемые границы для dependency advisories, локальной
configuration и SQLite runtime-артефактов независимых репозиториев WealthLedger.
## Requirements
### Requirement: Dependency advisory получает проверяемое решение
Для каждого audit-derived dependency advisory система SHALL хранить
проверяемую запись с Audit ID, advisory identifier, затронутой package path и
installed version, оценкой применимости к runtime или build surface и одним из
результатов: исправлено, принято или отложено. Принятое или отложенное решение
MUST содержать rationale и review trigger; исправленное решение MUST содержать
выбранный поддерживаемый upgrade path и evidence воспроизводимой проверки.
#### Scenario: Advisory подтверждён в dependency graph
- **WHEN** проверка находит advisory в direct или transitive package path
- **THEN** remediation record позволяет определить его reachability,
выбранный результат и evidence без применения массового автоматического
обновления зависимостей
#### Scenario: Advisory не применим к delivered architecture
- **WHEN** assessment устанавливает, что advisory не достижим из runtime или
build surface WealthLedger
- **THEN** record фиксирует принятие риска, конкретное rationale и условие
повторной оценки вместо ошибочного заявления об исправлении
### Requirement: Рабочая frontend configuration не является versioned input
Frontend SHALL поставлять versioned `.env.example`, достаточный для создания
локального `.env`, но MUST NOT хранить рабочий `.env` или другой локальный
`.env*` файл в source control. Ignore policy MUST исключать локальные frontend
configuration files, сохраняя явно разрешённый example template.
#### Scenario: Участник создаёт local frontend configuration
- **WHEN** участник копирует `.env.example` в `.env` для запуска frontend
- **THEN** локальный файл доступен runtime, но не появляется среди tracked
файлов Git
### Requirement: Runtime SQLite-данные не являются versioned artifact
Backend MUST NOT хранить SQLite database files, созданные runtime или local
development, в source control. Ignore policy SHALL покрывать поддерживаемые
repository runtime locations, а локальные test/database workflows MUST
направлять временные базы вне source tree и не считать их частью
коммитируемого результата.
#### Scenario: Локальный backend создаёт runtime SQLite database
- **WHEN** backend workflow создаёт SQLite file для development или test run
- **THEN** database находится вне versioned source inputs либо исключена
ignore policy и не появляется среди tracked файлов Git
#### Scenario: В репозитории обнаружен устаревший runtime DB artifact
- **WHEN** tracked SQLite database больше не требуется как fixture или source
input
- **THEN** change удаляет его из source control и сохраняет воспроизводимый
local bootstrap через configuration template и documented workflow