# ENGINEERING_SPEC — ECR-015 Account avatar **ECR:** ECR-015 **BD:** BD-2026-015 ## Layers Handler(auth|media) → Service(auth) → avatar store + AuthRepo → DB/FS ## Constraints - 本地目录相对进程 CWD:`data/avatars/`(gitignore) - `avatar_url` 存 API 相对路径,H5 经 `apiAssetURL` 拼 base - Retro:收口 Scope freeze,不扩存储后端