# TagLauncher 会话记录 - 2026-06-08-03 ## 用户目标 - 在不改代码的前提下,拉架构师和 QA 一起讨论 Apple 系统自带应用默认备注多语言化的实现方案。 ## 已完成事项 - 启动两个子代理分别做架构审查和 QA 审查。 - 主线程补查 SmartStart runtime: - `SmartStartService.loadCatalogSnapshot()` 已按 `L10n.currentCode` 加载当前语言备注。 - `languageFallbacks` 已支持 fallback。 - 77 个 Apple catalog 条目都有有效 defaultTag,不会被 runtime snapshot 过滤。 - 未修改源码。 ## 架构结论 - 运行时应统一使用 SmartStart catalog 作为默认备注来源。 - 不应新增 Apple 独立 29 语言文件,也不应继续让 `AppleDefaultAppNotes.swift` 作为运行时备注来源。 - 建议在 `SmartStartService` 新增小接口,例如 `defaultNote(for:)` 或 `defaultNotes(for:)`,返回当前语言 note 与 provenance。 - 自动默认备注统一写为 `origin = .catalogDefault`,并保存 `SmartDefaultNoteProvenance`。 - `origin = .appleDefault` 只作为旧数据迁移状态保留。 - `AppleDefaultAppNotes.swift` 短期保留用于旧数据识别和构建脚本兼容;中期可拆出 Apple policy,移除备注表运行时职责。 ## QA 结论 - 当前发布阻断风险:首次扫描仍用中文 `AppleDefaultAppNotes.note` 写入 `origin = .appleDefault`,语言切换不会处理它。 - 必须覆盖旧数据迁移: - `appleDefault` 且 fingerprint 匹配旧默认:迁移为当前语言 catalog 默认备注。 - 无 metadata 但文本精确等于旧 Apple 中文默认:可迁移。 - manual 或 fingerprint 不匹配:不得覆盖。 - 必须补测试: - 新用户英文/中文首次启动 Apple 默认备注。 - catalog 默认备注随语言切换。 - 手写备注不随语言切换。 - 旧 `appleDefault` 迁移。 - catalog 完整性与构建产物资源校验。 ## 推荐方案摘要 - 第一步:在 `SmartStartService` 暴露 catalog 默认备注查询接口。 - 第二步:把 `DataLayer.seedDefaultAppleAppNotes` 改为使用 SmartStart catalog note,并写入 `.catalogDefault` metadata。 - 第三步:在语言切换重本地化路径中同时兼容迁移旧 `.appleDefault`。 - 第四步:对无 metadata 旧中文默认备注做保守迁移;不确定的一律当用户内容保留。 - 第五步:补 QA 脚本和真实 smoke 流程。 ## 未决产品决策 - 用户主动清空 Apple 默认备注后,后续语言切换/重启是否保持空白,还是允许重新 seed。当前建议保持空白,避免违背用户意图。