mirror of
https://github.com/MemeMeow-Studio/MemeMeow.git
synced 2026-10-17 04:41:01 +08:00
2.1 KiB
2.1 KiB
Image library HTTP 重构验证记录
本记录对应 OpenSpec change refactor-core-http-image-library-boundary,用于固定公共实现
和验证事实,供 Server 按精确 SHA 同步。
来源
- 实现 commit:
251d377e3e47a33b455dc83c22d8e717f95018a9 - 变更范围:新增
backend/image_library_http.py、tests/test_image_library_http.py、 本 change artifacts;api.py删除图片列表、metadata、media 的重复只读编排,只保留 canonical route、query 声明和显式宿主 callback 注入。未修改上传/重命名/删除、图片处理 Worker、MetadataService/BlobStore、数据库 schema、scope middleware、Server adapter 或 frontend。
验证
- 新增图片库 callback 模块测试:
9 passed - 图片库/API/数据库契约定向回归:
16 passed, 36 skipped - 完整非外部门禁:
433 passed, 92 skipped - PostgreSQL marker 命令:
55 deselected,未选择 PostgreSQL 测试且未连接数据库。 openspec validate refactor-core-http-image-library-boundary --strict:通过uv run --project "$PWD" --active python -m compileall -q api.py backend tests:通过git diff --check:通过
对抗性复核
/images、/images/metadata、/media/{meme_id}各保持单个GETroute、imagestag、 原 query/path 参数和旧 handler 名称;新模块 AST 依赖不包含api或server_api。- 图片列表拒绝目录、scope、user 和未知 query selector;所有 Meme、metadata、embedding、 visual 和 processing 状态由当前 scope service/environment 派生,无法证明文件指纹的记录 不进入公开列表。
- metadata/media 只接受稳定
meme_id,image_for_meme继续在返回 sidecar 或 FileResponse 前校验 BlobStore 路径及数据库 SHA/size;不存在/错配错误只投影稳定 code/status,不泄露物理路径。 - 未发现 P1/P2。
同步门禁
用户已批准从本地开源仓库精确 fetch 并普通 merge;开源实现和验证记录提交后,Server 再按 精确 SHA 同步并补记 merge SHA、祖先关系、变更范围和 Server 回归结果。开源仓库未 push。