From 404be2bdd52eed342eb868c7f92cabafbff2ee29 Mon Sep 17 00:00:00 2001 From: Anton Vakhrushev Date: Sun, 23 Aug 2026 16:58:30 +0300 Subject: [PATCH] =?UTF-8?q?storage:=20=D0=B7=D0=B0=D0=B3=D0=BE=D0=BB=D0=BE?= =?UTF-8?q?=D0=B2=D0=BE=D0=BA=20=D1=82=D1=80=D0=B5=D0=B1=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=BE=20=D0=B2=D1=8B=D0=B4=D0=B0=D1=87?= =?UTF-8?q?=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B0=20=D0=B3=D0=BE=D0=B2?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D1=82=20=D1=82=D0=BE=20=D0=B6=D0=B5,=20?= =?UTF-8?q?=D1=87=D1=82=D0=BE=20=D1=82=D0=B5=D0=BB=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - «Файл отдаётся ссылкой» осталось от снятого решения: тело требования прямо отрицает выдачу значения на предъявителя, право даёт узнавание при каждом обращении - слово «ссылка» перестало нести в одном требовании три смысла: указатель в базе, значение доступа и путь к файлу в журнале --- openspec/specs/storage/spec.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openspec/specs/storage/spec.md b/openspec/specs/storage/spec.md index 0e5d6cc..5ad6953 100644 --- a/openspec/specs/storage/spec.md +++ b/openspec/specs/storage/spec.md @@ -335,7 +335,7 @@ MUST давать убрать запись целиком одним движе - **WHEN** шаг завершается отказом - **THEN** рабочей копии во временном каталоге не остаётся -### Requirement: Файл отдаётся ссылкой +### Requirement: Файл отдаётся владельцу, а не по ссылке Сервис SHALL отдавать файл записи **только её владельцу** и MUST судить владельца сам, при каждом обращении. Отданный файл MUST совпадать с принятым по длине. @@ -363,7 +363,7 @@ MUST давать убрать запись целиком одним движе Отсюда требование к отказам: сообщение об отказе чтения или укладки MUST не называть ключ файла и путь к нему дословно, а отказ выгрузки во внешнее хранилище MUST не называть полного адреса объекта. И то и другое кончается в -журнале и собирает ссылку не хуже успешного пути. +журнале и восстанавливает путь к файлу не хуже успешного пути. Что именно журнал приёма пишет ради прослеживаемости, нормирует capability `intake`. @@ -456,7 +456,7 @@ MUST давать убрать запись целиком одним движе ### Requirement: Файл записи сужается владельцем наравне с задачей Хранилище SHALL держать владельца и у файла записи — той же связью с учётной -записью, — а отдача файла MUST пускать к нему только его владельца. +записью, — а файл MUST отдаваться только своему владельцу. Владелец файла MUST назначаться при приёме, из узнанного предъявителя, а колонка файла MUST не допускать пустого значения наравне с колонкой записи. Разное