# S14: Файлы и upload Реализовать безопасную загрузку и durable drafts по одному небольшому IO/use-case шагу. Входной gate: S13-013. Выходной gate: S14-013. ## Задачи - [S14-001](../tasks/S14-001.md): Реализовать file staging — media; todo. - [S14-002](../tasks/S14-002.md): Реализовать safe media inference — media; todo. - [S14-003](../tasks/S14-003.md): Реализовать upload discovery/slot — protocol; todo. - [S14-004](../tasks/S14-004.md): Реализовать PUT with redirect policy — media; todo. - [S14-005](../tasks/S14-005.md): Подключить file encryption до PUT — crypto; todo. - [S14-006](../tasks/S14-006.md): Реализовать media message body — protocol; todo. - [S14-007](../tasks/S14-007.md): Реализовать upload retry/cancel — media; todo. - [S14-008](../tasks/S14-008.md): Реализовать HTTPS/aesgcm download — media; todo. - [S14-009](../tasks/S14-009.md): Реализовать sequential batch — media; todo. - [S14-010](../tasks/S14-010.md): Реализовать media forwarding — media; todo. - [S14-011](../tasks/S14-011.md): Создать batch preview UI — front; todo. - [S14-012](../tasks/S14-012.md): Проверить upload integration — qa; todo. - [S14-013](../tasks/S14-013.md): Gate: Файлы и upload — qa; todo. ## Граница этапа Выходной gate проверяет evidence/готовые проверки, не реализует функции за остальные задачи. Если отдельная карточка требует слишком большой контекст — split с сохранением requirements coverage.