|
| 1 | +# v0.11 大目标版本系列:笔记组与学习循环(v4 路线图 Phase 1-3 落地) |
| 2 | + |
| 3 | +> 状态:代码已交付(2026-08-22),真机验收待执行 |
| 4 | +> 依据:[v4 路线图建设顺序规划](../Foresight/v4-roadmap-build-order-analysis.md)(已裁决采纳)· |
| 5 | +> [pain-points-v4](../product/pain-points-v4.md) §7.4/§7.5/§11 · |
| 6 | +> [需求池 v0.11 区段](../product/requirements-pool.md)(REQ-195~198) |
| 7 | +> 设计文档:[specs/2026-08-22-v0.11-note-group-learning-loop-design.md](../superpowers/specs/2026-08-22-v0.11-note-group-learning-loop-design.md) |
| 8 | +
|
| 9 | +## 一句话 |
| 10 | + |
| 11 | +两种地形,一个容器——结构在内容里的成为课程,结构在行为里的成为组,都被同一个学习循环接住。 |
| 12 | + |
| 13 | +## 系列总览 |
| 14 | + |
| 15 | +| 小版本 | 范围 | 交付内容 | |
| 16 | +|--------|------|----------| |
| 17 | +| v0.11.0 | 笔记组基建·容器侧(REQ-195~198) | note_groups 数据模型(terrain/kind/domain_tag/series_key)+ notes.group_id 幂等迁移;group_route 结构密度路由纯函数(加权投票三态,golden TDD);容器侧组化接线(会话→笔记自动归课程组/独立组/主题组);组侧栏 UI(过滤/路由理由可见/一键改判/笔记移动) | |
| 18 | +| v0.11.1 | feed 进料口(功能开关默认关) | fragments 独立原料层(碎片不是笔记,身份诚实);feature_flags 开关机制(feed_capture 默认关,后端二次校验);碎片快速捕获(文本 + 剪贴板图片,解码验证落盘);DomainTag 自动归 feed 主题组;设置页开关 + 组侧栏捕获区 | |
| 19 | +| v0.11.2 | 学习循环统一(最大新建块) | FSRS-6 调度器(fsrs crate,ADR-018;目标留存率 0.9);flashcards/review_logs/metrics_events 三表;组→闪卡本地规则生成(词汇表块术语卡 + 碎片多句卡,幂等查重);复习面最小化 UI(front→回忆→back→四档评分,提取优先,无 streak);北极星/过程指标埋点(card_reviewed/fragment_upgraded)+ learning_metrics 读数 | |
| 20 | +| v0.11.3 | 组结算机制(防沼泽仪式) | settlement 双触发判据(≥50 条阈值 / ≥20 条且 ≥90 天周期);重复合并判据(字符 bigram 包含度 ≥0.7,贪心一对一,保留长文本);结算仪式(计划呈现→用户确认→执行:合并/归档/核心提炼笔记);settlements 留痕 + group_settled 埋点;归档不删除可恢复 | |
| 21 | + |
| 22 | +## 关键决策与纪律 |
| 23 | + |
| 24 | +- **绑定粒度从一开始就是"组"**(v4 契约二):闪卡/复习/结算全部按组,不经历"会话级→再提升"返工。 |
| 25 | +- **路由误判 ★★★★ 死法防御**(REQ-198):信号冲突/低结构无领域诚实 NeedConfirm;路由理由 JSON 落组可见;一键改判 route_overridden=1(修改即记忆)。 |
| 26 | +- **feed 默认关**(v4 §11.3):功能开关机制 + 后端命令层二次校验,Phase 2 验证前不默认启用。 |
| 27 | +- **弹性承诺**(路线图裁决 4):review_logs 无 streak 字段,欠账卡仅按 due_at 排序——不追债不清零(N10 归零暴政防御)。 |
| 28 | +- **动机App化防御**(★★★★★):复习面只有卡片与评分,零叙事元素;引擎先有真牙。 |
| 29 | +- **指标从第一天记**(v4 §8):metrics_events 随复习/升级/结算同批落库——Phase 4 门控判据(碎片升级率)数据开始积累。 |
| 30 | +- **FSRS 取代 SM-2**(ADR-018):crate 引入成功,SM-2 兜底条件未触发,不保留双实现(调度接口稳定可后补)。 |
| 31 | + |
| 32 | +## 数据模型增量 |
| 33 | + |
| 34 | +``` |
| 35 | +note_groups(id, name, terrain, kind, domain_tag, source, series_key 唯一, |
| 36 | + route_reason JSON, route_overridden, created_at, updated_at) |
| 37 | +notes.group_id -- ensure_column 幂等,ON DELETE SET NULL |
| 38 | +fragments(id, text, image_path, domain_tag, group_id, source, |
| 39 | + status active/archived, created_at) |
| 40 | +flashcards(id, group_id 级联, note_id, fragment_id, front, back, kind, |
| 41 | + state_json, due_at, created_at) |
| 42 | +review_logs(id, card_id 级联, rating, reviewed_at) -- 无 streak |
| 43 | +metrics_events(id, kind, payload_json, created_at) |
| 44 | +settlements(id, group_id 级联, stats_json, created_at) |
| 45 | +``` |
| 46 | + |
| 47 | +## 测试与验证 |
| 48 | + |
| 49 | +- Rust 单测 1434 通过(新增 ~58:group_route golden 7 / db_note_groups 8 / |
| 50 | + note_group_assign 4 / feature_flags 4 / db_fragments 5 / scheduler 7 / |
| 51 | + card_generate 7 / db_flashcards 6 / db_settlements 2 / settlement 8) |
| 52 | +- cargo clippy --all-targets 零错误;前端 tsc + vite 构建通过、vitest 35 通过 |
| 53 | +- 真机验收待执行(会话→组化→生卡→复习→结算全链路走查) |
| 54 | + |
| 55 | +## 后续门控 |
| 56 | + |
| 57 | +- Phase 4 测量层(显影报告/盲测仪器/常模库):以 fragment_upgraded 积累的 |
| 58 | + 碎片升级率数据为启用前置,门控另议不预占版本号。 |
| 59 | +- AI 闪卡生成(可选增强):复用 ai_client 授权/成本/审计全套,默认关,V1.0 评估。 |
0 commit comments