Рефакторинг границ capabilities: цепочка загрузка→матч→ревью→раскладка (openspec)
Привёл набор capabilities в OpenSpec к цепочке обработки, чтобы имя capability отвечало одному поведению. Чисто по спекам, код и поведение системы не меняются. Change refactor-capability-boundaries (архивирован): - recognition разделён на recognition (разбор LLM) + metadata-match (сверка с базами) - review выделен из web-ui + мигрирован из docs/specs/review-ux.md - новые capability из docs/specs: file-layout, download-tracking, notifications - identity очищен до инфра-id; приём (инфохэши, дедуп, ядро приёма) — в ingest - уведомление о рассинхроне перенесено из state-reconciliation в notifications - дубль владения путём и безопасного undo оставлен в state-reconciliation Итог: 11 capabilities, openspec validate --strict проходит (+37/−11 требований). Источник истины по мигрированным темам переехал в openspec/specs (шапки в docs). Снят пункт беклога «Пересмотр набора capabilities». Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+19
@@ -0,0 +1,19 @@
|
||||
## REMOVED Requirements
|
||||
|
||||
### Requirement: Множество инфохэшей загрузки
|
||||
|
||||
**Reason**: Инфохэши — часть приёма загрузки, а не инфраструктуры id; поведение
|
||||
относится к capability `ingest`.
|
||||
**Migration**: Требование перенесено без изменений в `ingest` (см. `specs/ingest`).
|
||||
|
||||
### Requirement: Дедупликация приёма по любому из хешей
|
||||
|
||||
**Reason**: Дедуп приёма — поведение приёма загрузки, а не инфраструктуры id.
|
||||
**Migration**: Требование перенесено без изменений в `ingest`.
|
||||
|
||||
### Requirement: Атомарность возврата загрузки в активное состояние
|
||||
|
||||
**Reason**: Инвариант «не более одной активной загрузки на infohash» — забота
|
||||
приёма/активации загрузки; логичнее держать рядом с приёмом.
|
||||
**Migration**: Требование перенесено без изменений в `ingest`; review и retry на
|
||||
него ссылаются.
|
||||
Reference in New Issue
Block a user