S05: добавить usecase файлов чата и проверки квоты #15

Open
opened 2026-04-07 16:39:05 +00:00 by gglamer · 0 comments
Owner

Контекст

Спринту 01 нужны first-class file usecases в chat scope, плюс soft quota enforcement для quota-relevant file write paths.

Цель

Реализовать usecases для:

  • upload file to chat
  • list files in chat
  • get file metadata
  • delete single file
  • clear chat files
  • calculate current storage usage
  • reject file writes when projected usage exceeds soft quota

В scope

  • file lifecycle поверх metadata repo и filesystem storage adapter
  • workspace/chat usage calculation
  • soft quota enforcement для file write paths
  • usage включает history.md и chat files
  • DI wiring для новых usecases
  • focused tests

Вне scope

  • artifact quota
  • retention engine
  • HTTP layer
  • auth

Ограничения

  • chat creation itself не блокируется quota в этом slice
  • отклоняются только quota-relevant file write paths
  • usecases остаются framework-agnostic
  • поведение должно быть явным и простым для тестов

Критерии приемки

  • upload/list/get metadata/delete/clear работают через usecases
  • projected usage проверяется до file write
  • quota overflow корректно отклоняет file write path
  • current usage учитывает history.md и chat files
  • focused tests проходят
  • проходит make typecheck

Предполагаемые файлы

  • usecase/chat_file.py
  • adapter/di/container.py
  • focused tests в test/*

Зависимости

  • зависит от S02, S03 и S04
  • блокирует S06 и S07

Ветки

  • Ветка-основание: feat/storage-s04-workspace-chat-usecases
  • Новая ветка: feat/storage-s05-chat-file-usecases
## Контекст Спринту 01 нужны first-class file usecases в chat scope, плюс soft quota enforcement для quota-relevant file write paths. ## Цель Реализовать usecases для: - upload file to chat - list files in chat - get file metadata - delete single file - clear chat files - calculate current storage usage - reject file writes when projected usage exceeds soft quota ## В scope - file lifecycle поверх metadata repo и filesystem storage adapter - workspace/chat usage calculation - soft quota enforcement для file write paths - usage включает `history.md` и chat files - DI wiring для новых usecases - focused tests ## Вне scope - artifact quota - retention engine - HTTP layer - auth ## Ограничения - chat creation itself не блокируется quota в этом slice - отклоняются только quota-relevant file write paths - usecases остаются framework-agnostic - поведение должно быть явным и простым для тестов ## Критерии приемки - upload/list/get metadata/delete/clear работают через usecases - projected usage проверяется до file write - quota overflow корректно отклоняет file write path - current usage учитывает `history.md` и chat files - focused tests проходят - проходит `make typecheck` ## Предполагаемые файлы - `usecase/chat_file.py` - `adapter/di/container.py` - focused tests в `test/*` ## Зависимости - зависит от S02, S03 и S04 - блокирует S06 и S07 ## Ветки - Ветка-основание: `feat/storage-s04-workspace-chat-usecases` - Новая ветка: `feat/storage-s05-chat-file-usecases`
gglamer changed title from S05: add chat file usecases and quota checks to S05: добавить usecase файлов чата и проверки квоты 2026-04-07 16:43:18 +00:00
blaze was assigned by gglamer 2026-04-07 16:47:32 +00:00
gglamer added this to the Tasks project 2026-04-07 16:47:35 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: platform/master#15
No description provided.