b3e89f7efb
评审跟进(C1/I1/M3/M5):
- C1 排序并列簇:新建此前不送 sortOrder(服务端缺省 0)→ 3+ 广告即全 0
并列,首次上移/下移即产出错误顺序且经 outbox 立即传导 ov。修复双管:
① 新建载荷带 sortOrder=父页 max(现有)+1(空列表=0,尾部追加保证全序,
并列簇从源头不再产生——无存量数据,评审选项 B);② 上移/下移目标值
计算抽取为纯函数 planAdjacentMove(异值互换/并列错开抬邻居避免负值),
≥3 并列簇局限以 spec 文档化用例登记(create 追加后为 dead insurance),
index.vue 改用纯函数并跳过值未变侧的 no-op PATCH
- I1 相册下拉:对话框每次打开均预载选项(新建态同样,对照 SlotBindDialog
打开即 searchAlbums('') 先例),消除未输入时误显「无匹配相册」;编辑态
绑定 ID 兜底回显逻辑合并入 preloadOptions
- M3 en 复数:scopeTargeted 用 vue-i18n 复数 "{n} album | {n} albums"
(t(key, n))
- M5 预览对象 URL 兜底:onUnmounted(releasePreview) 防非常规卸载路径泄漏
已登记暂缓(非本次):M2 move 时序守卫细化、M4 相册搜索与 SlotBindDialog
的同构抽取、M6 编辑 diff-only 载荷。
Co-Authored-By: Claude Code <noreply@anthropic.com>