Favorite Words & Learn Scope Contract
DomainsDOL EnglishUX577 words3 min read
Purpose
Phần tiêu đề “Purpose”- Chốt logic
Yêu thíchchoTừ vựng. - Giải quyết nhu cầu user muốn tự chọn một nhóm từ để quay lại nhanh mà không phá queue SRS mặc định.
- Giữ đúng nguyên tắc: chỉ có một flow LEARN.
Problem
Phần tiêu đề “Problem”- User đôi khi muốn học ngay một số từ cụ thể trong list hiện tại.
- Canon hiện có
review queue,mistakes queue,My Lists, nhưng chưa có contract rõ chouser-curated subsetở cấp item.
Product Decision
Phần tiêu đề “Product Decision”- Dùng
Yêu thíchnhư một personal signal ở cấp item. Yêu thíchlà lớp additive: thêm khả năng lọc/học theo ý user, không loại item khỏi queue hệ thống.- LEARN không tách thành flow riêng; session chỉ thay đổi
candidate pool.
Canonical Semantics
Phần tiêu đề “Canonical Semantics”favorite word= item user muốn lưu tâm, quay lại, hoặc học riêng trong phạm viTừ vựng.favorite wordkhông đồng nghĩa với:masteredurgent reviewhiddenskip
favorite wordkhông làm thay đổiF,D,successCount,failCount, haynext_review_at.favorite wordkhông loại item khỏiToday Focus,review queue, haymistakes queue.
Owner Surfaces
Phần tiêu đề “Owner Surfaces”- Owner action:
list detailtrongTừ vựng. - Owner launch:
session launcher / Start Learningbên trongTừ vựng. - Allowed surfacing:
- filter
Từ yêu thích - CTA
Học từ yêu thích - hint trong AI Tutor hoặc practice surfaces nếu có giá trị rõ
- filter
- Không thuộc scope v1:
- social/public favorites
- cross-app favorite sync
- điểm thưởng riêng cho favorite words
Learn Contract (Single Flow)
Phần tiêu đề “Learn Contract (Single Flow)”- Vẫn dùng duy nhất flow
LEARN. - Khi user bấm
Học từ yêu thích, input session là:scope = current list/setfavorite_only = true
candidate pool = scope hiện tại ∩ favorite=true.- Engine vẫn giữ quyền sắp item trong pool theo tier, stage, difficulty, skill profile, và repair logic hiện hành.
- Không auto thêm
non-favorite itemschỉ để đủ batch size. - Nếu
favorite poolchỉ có1-2item, session vẫn hợp lệ:- không chặn start
- không tách flow mới
- planner tiếp tục dùng logic LEARN thường với exercise rotation phù hợp stage hiện tại của các item đó
- batch/buffer/preload degrade gracefully theo pool thực tế
- Nếu
favorite pool = 0, CTA phải disabled hoặc fallback rõ vềÔn theo hệ thống.
Guardrails
Phần tiêu đề “Guardrails”- Không dùng
Yêu thíchnhư cách nóiđã biết nên loại khỏi học. - Không dùng
favorite=falsenhư rule xoá item khỏi queue. - Không tạo credit/SRS formula riêng cho item được đánh dấu
Yêu thích. - Nếu user chỉ học vài favorite words, recap có thể gợi ý quay lại
Ôn theo hệ thống, nhưng không tự chèn thêm item ngoài pool.
v1 UX Baseline
Phần tiêu đề “v1 UX Baseline”- Trên từng từ trong list detail: icon sao
Yêu thích. - Filter/tab:
Từ yêu thích. - CTA launcher:
Học từ yêu thích. - Empty state:
Chưa có từ yêu thích nào trong danh sách này.
References
Phần tiêu đề “References”./VOC_00_Overview.md./Vocab v2/VOCV2_00_Overview.md./Vocab v2/Core Logic/VOCV2_Product_Spec_Hardening_v1.md./Archive/ARCHIVE_Hidden_Item_Feature.md
Change log
Phần tiêu đề “Change log”- 2026-03-27: Tạo contract canon cho
Yêu thíchnhư signal additive và chốtsingle-flow LEARNkhi học theo favorite words.