4 Commits

Author SHA1 Message Date
Andrey Epifancev
6d7aebe01c refactor: пакеты core и modules.jira — перенос без логики (#87)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 21:50:23 +04:00
Andrey Epifancev
722393daf9 API вложений: файл от агента, скачивание, уборка копий (#83)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:34:10 +04:00
Andrey Epifancev
2e98ce6062 fix(files): повторная загрузка лечит испорченную копию того же размера (M-2, #43)
put сверяет sha256 копии на диске при совпадении размера и переписывает испорченную; design.md: решение 13 уточнено, рулинги R-3…R-5 — решения 21–23 (M-5 финального ревью).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 02:05:45 +04:00
Andrey Epifancev
19bba60cac feat(files): хранилище файлов вложений files/<sha256> с уборкой (#43)
put — атомарно (mkstemp, fsync, os.replace), одна копия на содержимое, mtime при повторе, предел 10 485 760 байт, пустой — отказ; path/exists/size/read только для sha из 64 hex; sweep — старше 30 дней без ensure_attachment в queued/claimed (решения 10–13).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 01:38:31 +04:00