# 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