docs(specs): archive dependency hygiene remediation
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user