# 7.9 排序交付 ## 用户目标 - 基于已确认的 7.9.0 TODO 和基线文档,实现“容器内 App 可拖动改变默认显示顺序”。 - 正式动代码前做好前序代码总结和 Git 管理。 - 完成后先由 QA 自动化验收,全部通过后再汇报。 ## 已完成事项 - 创建开工前基线提交 `e08ca36`,并创建 tag `pre-7.9-app-ordering-20260611.2110`。 - 实现同容器 App 手动排序,版本更新为 `7.9.0 (20260611.2212)`。 - 创建功能提交 `a1ade5e Add 7.9 app ordering support`。 - 生成并归档验收候选 DMG:`src/Release/Acceptance-7.9.0-20260611.2212/Archive/TagLauncher-7.9.0-build20260611.2212.dmg`。 - 创建 release 记录提交 `2b5cb91 Record 7.9 acceptance package`。 - 创建 release tag `v7.9.0-build20260611.2212`,指向功能源码提交 `a1ade5e`。 ## 关键决策 - 排序作为“分类与布局方案”的一部分保存,不改变 App 标签归属。 - 使用稳定容器 ID 保存排序,不依赖本地化显示名。 - 第一版只支持同容器排序;跨容器移动、Option 复制、拖空白移除、Apple 内置保护、Quick Search 排名保持原逻辑。 - 代码复审发现的同容器 near-edge empty drop、Apple 内置同容器 no-op warning、文档路径大小写问题均已修复。 ## 文件变更 - 核心代码:`src/Apptag/DataLayer.swift`、`AppGridCollectionView.swift`、`AppDragCoordinator.swift`、`ContentView.swift`、`AppLibraryController.swift`、`SmartStartService.swift`、`ApptagApp.swift`。 - QA:新增 `src/Scripts/app_ordering_data_qa.sh`,并稳定 `src/Scripts/window_logic_qa.sh`。 - 文档:`docs/7.90/*`、`src/CHANGELOG.md`、`src/TODO.md`、`src/Release/Acceptance-7.9.0-20260611.2212/*`。 ## QA 结论 - `Scripts/app_ordering_data_qa.sh`:PASS。 - `Scripts/macos14_availability_typecheck_qa.sh`:PASS。 - `Scripts/macos14_build_metadata_qa.sh`:PASS。 - `Scripts/quick_search_app_name_qa.sh`:PASS。 - `Scripts/quick_search_system_app_qa.sh`:PASS。 - `Scripts/smartstart_catalog_resource_qa.sh`:PASS。 - `Scripts/window_logic_qa.sh`:PASS。 - `hdiutil verify`、DMG 挂载内容检查、App 版本/build 检查、`codesign --verify --deep --strict`:PASS。 ## 未决问题 - `docs/index.html` 和 `Docs/KM02-技术/` 仍是未纳入本轮提交的既有无关现场。 - 7.9.0 DMG 仍需用户真实拖拽手感验收,尤其是插入线是否符合预期。