3.9 KiB
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