Files
specs/openspec/specs/workspace-artifact-hygiene/spec.md
T

58 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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