# 佳词宜记：双算法取舍的来源说明

整理与只读核查日期：2026-09-12。不是事件发生日期，也不代表重新运行产品。

## 本人回顾提供的信息

本人陈述：曾提出增加一种背词算法，希望以双算法提供更多选择；在持续亲自使用后认为该方向影响核心体验，随后要求取消，并再次使用学习与复习流程检查结果。主要技术分析、代码实现和删除调整由 Coding Agent 完成。

这提供了个人动机、使用判断和决策归属。具体哪一步造成负担，尚未与旧记录对应；不将流程多一步、评分不一致、性能下降等可能原因写成已发生事实。没有外部用户数据证明单算法普遍更好。

## 代码记录独立佐证的信息

本地 Flutter 仓库存在提交 `6a2f02c4759ee2ac9449879270d20790f00b32c8`，提交时间为 2026-08-01 23:26:56（UTC+08:00）；其父提交为 `b8cc22bc0511c1c9936393837d7e95f4ddf7c4b2`。

| 核对对象 | 源码能说明的事情 |
| --- | --- |
| 父提交的 `lib/presentation/settings/settings_page.dart`，189–223 行 | 设置中曾同时提供 MMS 与 FSRS；FSRS 切换还关联专业版权限检查。 |
| 父提交的 `lib/providers/premium_provider.dart`，167–180 行 | 曾存在试用到期将 FSRS 回退到 MMS 的逻辑。 |
| 删除提交的 `lib/domain/algorithms/scheduler.dart`，140–142 行；`lib/providers/settings_provider.dart`，20–25、61–62 行 | 移除 MMS 分支，设置统一为 FSRS。 |
| 删除提交的 `lib/data/database/app_database.dart`，379–403 行；`lib/domain/services/backup_service.dart`，202–208 行 | 对旧算法数据与导入数据作归一处理，说明这不只是删除一个选项文字。本轮没有运行迁移或恢复验收。 |

MMS 在此仅指仓库内部算法名称，不代表官方算法授权、算法原创或效能认证。

## 不能由这些记录推出的结论

- 不能直接判定 MMS 就是本人当时新增的“第二套算法”。Flutter 初始历史已经同时有两种算法；更早的另一端还有其他算法演进。
- 不能单凭提交确定它与本人回顾是同一轮修改，也不能确定是谁最先提出需求。
- 双选与试用回退是历史机制，不等于它们就是本人实际不满的原因。
- 删除提交不是安装包发布或外部用户验收记录；不写成“双算法上线后下线”。
- 本页现有 Windows / Android 图片来自不同的运行材料，不是算法增删前后的对照截图。
- 代码收敛与个人感受不证明学习效果、性能提升、留存、收入或普遍用户偏好。

当前最需要补充的材料，是一条与本人实际经历对应的反馈：哪个学习动作出现了什么负担、何时要求取消、取消后具体怎样复查。没有这些材料时，案例保留为有代码背景的个人产品复盘，不包装成完整用户实验。


## 2026-09-13 · 历史机制只读补记

本次按前述 Flutter 父提交与删除提交重新核对源码，范围限于代码与测试定义。两份 `pubspec.yaml` 都标为 **1.9.4+194**，前后状态以完整提交标识区分；本文保留原有运行素材和发布边界。

- **设置选择**：父提交的设置页提供 MMS / FSRS，并在切换 FSRS 前检查专业版权限；删除提交改为 FSRS 单项说明。
- **试用到期**：父提交存在从 FSRS 回退到 MMS 的分支；删除提交移除算法回退，同时保留关闭自动备份的权益处理。
- **旧数据接入**：数据库 schema 14 与备份恢复代码归一旧算法标识、默认设置，调度统一使用 FSRS。
- **测试定义**：删除提交中的 `test/unit/algorithms/scheduler_test.dart` 51–59 行检查旧标识转入 FSRS；`test/unit/providers/premium_provider_test.dart` 61–109 行检查试用到期保持 FSRS 并关闭自动备份；`test/unit/database/database_migration_test.dart` 59–64 行检查迁移至 schema 14 及 FSRS 标识。以上仅为源码核对，本次未运行这些测试或产品安装包，旧学习状态的完整恢复仍需运行验收。

提交说明为 `refactor: remove unsupported review algorithm`，其中未记录具体体验原因与需求提出者。本人所说的“第二套算法”、具体使用负担及回顾所对应的客户端和修改轮次，仍需独立的本人反馈或同期材料。
