edit | blame | history | raw

TagLauncher 会话记录 - 2026-06-08

用户目标

用户要求只读审查 Apple 默认应用独立资源方案对 TagLauncher Swift runtime 的改动风险,不编辑源码文件。主线程将实现:

  • 新增 AppleDefaultAppCatalog loader。
  • DataLayer Apple 默认备注播种走 Apple loader。
  • SmartStart 不再给 Apple 默认备注。
  • AppNoteOrigin.appleDefault 重新作为正式来源。
  • 用户 manual / manual-empty 不被覆盖。

已完成事项

  • 只读检查了项目规则、QA/交付规则和发布版本规则。
  • 只读检查了以下 Swift/runtime 入口:
  • Apptag/DataLayer.swift
  • Apptag/SmartCategorization/SmartStartService.swift
  • Apptag/L10n.swift
  • Apptag/ContentView.swift
  • Apptag/AppLibraryController.swift
  • Apptag/QuickSearch.swift
  • Apptag/AppleDefaultAppNotes.swift
  • Apptag/SmartCategorization/SmartCategorizationDraft.swift
  • 只读检查了 build.sh 的资源拷贝方式。
  • 只读检查了 SmartStart 资源生成脚本中仍读取 Apple notes 和 Google Translate 的路径。

关键发现

  • 当前 Apple 默认备注播种仍位于 DataLayer.reconcileScannedApps,调用 seedDefaultCatalogNotesForAppleApps,并继续依赖 SmartStartService.defaultNote(for:)
  • 当前 AppNoteOrigin.appleDefault 被标为 legacy,Apple 默认备注实际写入 .catalogDefault,与新架构冲突。
  • 语言切换链路为:L10n.switchTo 加载 UI 语言并发出 .appLanguageDidChangeContentView 监听后调用 SmartStartService.relocalizeDefaultNotesForCurrentLanguage(apps:)
  • SmartStartService.applyDraft 已经有 .manual guard,可保护 manual 和 manual-empty,但如果 SmartStart draft 仍包含 Apple assignment,仍可能对非 manual Apple app 写 .catalogDefault
  • Quick Search 文档只索引 app.localizedNamesstore.appNotes;Apple 独立 catalog 的 29 语言名称如果不接入扫描或索引,不会自动成为检索字段。
  • AppleDefaultAppNotes.swift 目前只剩 12 个 familiar bundle ID,仍是 Swift 硬编码,不适合 Apple 数量变化和资源驱动方案。
  • build.sh 是当前实际资源拷贝入口;新 Apple 资源必须显式复制到 Contents/Resources,Swift loader 的 forResource 名称和 extension 必须与输出文件名完全一致。
  • Research/SmartStart/Scripts/build-ultimate-default-catalog.mjs 仍读取 Apptag/AppleDefaultAppNotes.swift 并有 Google Translate 生成 notes 的路径;后续重建 SmartStart 资源前必须清理。

文件变更

  • 未修改源码、资源或构建产物。
  • 新增本会话记录文件:/Users/ar/Projects/X-sessionhistory/Taglauncher/2026-06-08-12.md

后续建议

  • 主线程实现前,应先把 Apple 默认资源的 schema、runtime resource name 和 build 输出文件名定死。
  • 改动后新增 Apple 资源 QA、manual-empty policy QA、SmartStart 不含 Apple 备注/名称来源 QA。
  • 发布前必须重新递增版本和 build,重新生成 QA 证据与可分发 DMG。