Канонизация и валидация chat_id как UUID #10

Closed
opened 2026-04-02 19:15:06 +00:00 by gglamer · 0 comments
Owner

Сделать chat_id строго UUID на HTTP boundary и использовать его каноничную строковую форму дальше в usecase, repository, lock key и filesystem path.

Контекст

После M13 review остался must-fix риск path alias и whole-root mount через неканоничные значения chat_id.

Scope

  • принять chat_id как UUID
  • не принимать произвольные path-like строки
  • использовать одно и то же каноничное значение для lock key, repository key и path construction
  • добавить регрессионные тесты на invalid chat_id

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

  • не-UUID значения отклоняются на HTTP boundary с 400/422
  • UUID используется как единое каноничное значение для lock key, repository key и filesystem path
  • значения вроде ., a/.., x/../y не доходят до filesystem mount
  • make pre-commit проходит
Сделать `chat_id` строго UUID на HTTP boundary и использовать его каноничную строковую форму дальше в usecase, repository, lock key и filesystem path. ## Контекст После M13 review остался must-fix риск path alias и whole-root mount через неканоничные значения `chat_id`. ## Scope - принять `chat_id` как UUID - не принимать произвольные path-like строки - использовать одно и то же каноничное значение для lock key, repository key и path construction - добавить регрессионные тесты на invalid `chat_id` ## Критерии приемки - не-UUID значения отклоняются на HTTP boundary с `400/422` - UUID используется как единое каноничное значение для lock key, repository key и filesystem path - значения вроде `.`, `a/..`, `x/../y` не доходят до filesystem mount - `make pre-commit` проходит
gglamer self-assigned this 2026-04-02 19:18:48 +00:00
gglamer added this to the Tasks project 2026-04-02 19:18:53 +00:00
gglamer added reference feat/minimal-docker 2026-04-02 19:18:58 +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#10
No description provided.