Sổ nguồn SRC-0050 tới SRC-0074
Một mảnh của sổ tiếp nhận. Chỉ CHÈN dòng bằng node scripts/src-new.mjs, không ghi đè cả file.
| ID | Ngày nhận | Nguồn | Canonical hóa vào | Trạng thái |
|---|---|---|---|---|
| SRC-050 | 2026-08-14 | Chỉ đạo: trong Marlins bố mẹ tạo Goal cho từng con (đỗ trường chuyên nào, lớp chuyên gì, thời điểm nào) và cả goal "thi đỗ tốt nghiệp" | learner_exam_targets mở thêm target_kind='graduation' + PATCH /v1/exam-targets/{id}; trang Goals.tsx (#/child/:id/goals) | ✅ |
| SRC-051 | 2026-08-14 | Chỉ đạo: bố mẹ ghi nhận định kỳ niềm tin về con theo môn: mức lo lắng, điểm hình dung khi đi thi thật, cảm nhận "đang hổng" hay "học tự tin", có tin đủ điểm đỗ không | migration 0018 parent_beliefs (KHÔNG vào learner_evidence) + POST/GET /v1/learners/{id}/beliefs; trang Beliefs.tsx (#/child/:id/beliefs), có đối chiếu với ước tính hệ thống | ✅ |
| SRC-052 | 2026-08-14 | Chỉ đạo: portrait cần thứ chạy dài xuyên nhiều năm (kiểu EPIC trong Jira), milestone "nằm bên trên" các thứ đó; IELTS/SAT là chứng chỉ quan trọng, thi thử mỗi 6 tháng trong 2 năm | migration 0017 portrait_tracks + milestones.track_id; POST/PATCH /v1/…/tracks; Roadmap.tsx (Marlins sửa được, learn chỉ xem); seed 3 portrait + 8 track + 33 mốc cho Vani Tú Minh | ✅ |
| SRC-053 | 2026-08-14 | Chỉ đạo: logo Orca không được để hình vuông đen; tách trang HOME riêng cho Orca giới thiệu về Orca, vào trong là danh sách cuộc thi, bấm chi tiết ra trang chi tiết từng cuộc thi; trang chân dung đổi tên Student Portrait và slug /student-portrait | OrcaLogo.tsx (SVG, thay emoji ghép "🐋⬛" vốn render ra ⬛); OrcaHub tách OrcaHome/OrcaList/OrcaDetailPage + route /orca, /orca/cuoc-thi, /orca/cuoc-thi/{id}; slug /student-portrait (giữ redirect /chan-dung) | ✅ |
| SRC-054 | 2026-08-14 | Chỉ đạo: School Home cần phần giới thiệu về trường (ví dụ trang Shark) | schoolsInfo.ts thêm forWho/method/outcomes cho cả 6 school; SchoolHome render "Dành cho ai", "Học ở {school} thế nào", "Ra khỏi {school}, con có" | ✅ |
| SRC-055 | 2026-08-14 | Chỉ đạo: tạo 3 Assessment + 3 Learning Experience Blueprint; thêm blueprint cho các đề thi dựng từ đề thật Toán giữa/cuối HK1 lớp 6-9 (bóc tách phần trắc nghiệm gồm bao nhiêu câu, những câu nào); admin sửa tay từng phần mọi blueprint trong Coral | migration 0016 content_blueprints + generation_runs (SDD-013 §3, đổi tên tránh trùng goal blueprint); blueprints-seed.json 14 bản ghi (3 AX nền + 8 exam blueprint + 3 LX) + scripts/seed-blueprints.mjs; GET/PATCH /v1/coral/blueprints*; tab Blueprint trong Coral | ✅ |
| SRC-056 | 2026-08-14 | Chỉ đạo: khi learner chọn xong đáp án, hệ thống hỏi tiếp mức độ tự tin và vì sao chọn, không hiện đúng/sai ngay; kết quả không hiển thị "mastery 32%" vì không ai hiểu | /v1/practice/{id}/answer nhận confidence + justification (3 lớp đo REQ-EXAM-07, lưu payload_json); Learning.tsx hỏi 2 lớp trước khi lộ kết quả; kết quả nói "Chắc rồi / Đang lung lay / Cần xây lại từ gốc" kèm thanh màu | ✅ |
| SRC-057 | 2026-08-14 | Chỉ đạo: bỏ hết ký tự em dash trên mọi page; bỏ hết label "Khám phá", chỉ để lại icon và căn icon đó ở dưới | DS-001 §5b điểm 8-9; quét sạch chuỗi hiển thị 6 app (web/learn/marlins/coral/mentors/admin) + <title>/meta; card school ở nemo12.com chỉ còn mũi tên → căn đáy card | ✅ |
| SRC-058 | 2026-08-14 | Chỉ đạo: vào Coral phải chọn School rồi Subject trước; các trang sau dùng đúng hai thông tin đó, không chọn lại; muốn đổi thì về trang chủ Coral | schools.ts + màn PickContext (trang chủ Coral), context lưu localStorage; header hiện chip "school · môn ✕" bấm để đổi; Học liệu/Ngân hàng đề/Blueprint/Coverage đều bám context | ✅ |
| SRC-059 | 2026-08-14 | Chỉ đạo: Coral lọc học liệu theo cấp (1/2/3) rồi chọn lớp | apps/coral Content filter | ✅ |
| SRC-060 | 2026-08-14 | Chỉ đạo: mỗi school có MÔN RIÊNG — Ray = SAT/AP, Squid = IELTS, Octopus = GenAI | SDD-011, REQ-SCH-10 | ✅ |
| SRC-061 | 2026-08-14 | Chỉ đạo: chia tiếp module → unit, hiển thị accordion trong Phòng Lab | migration 0020 + SDD-004 | ✅ |
| SRC-062 | 2026-08-14 | Chỉ đạo: learner lọc theo lớp; bỏ nhãn "Học (10)", thêm tín hiệu "có cần học không" | REQ-UX (Phòng Lab) | ✅ |
| SRC-063 | 2026-08-14 | Chỉ đạo: docs sidebar sang tiếng Anh, gom còn ít nhóm | apps/docs sidebar | ✅ ⚙️ |
| SRC-064 | 2026-08-14 | Chỉ đạo: bổ sung blueprint đề thi (giữa kỳ/học kỳ từng môn + các dạng khác) | content_blueprints (55 bp mới) | ✅ |
| SRC-065 | 2026-08-14 | PRD — Retention Engine & Memory Retention System (văn bản đầy đủ từ chủ dự án): tách Mastery ≠ Retention (historical mastery vs current retention — core architectural rule); Retention Model per node/skill/unit + forgetting curve (decay nhiều cấp, học dần personal forgetting rate); Evidence phân tầng exposure→recognition→assisted→independent→transfer; retrieval strength làm chậm quên; review urgency/priority/window (goal + exam aware, prerequisite protection, implicit review, interleaving); avoid review debt (không backlog "nợ"); forgetting vs never-learned vs context-failure; retention confidence thấp → assessment probe thay vì relearning; Review Ladder; UX không phán xét; MVP → Phase 3 + success metrics | SDD-017, REQ-INT-23..28, US-64..66, SDD-002 §6/§14 amend, QG-005 amend, open-questions Đợt 8 | ✅ |
| SRC-066 | 2026-08-14 | Feedback màn khởi động lab: "Phần này quá khó hiểu, ko hiểu là cái gì vậy?" — 3 câu khảo sát (tự đánh giá + đoán đúng mấy/N câu + chỗ khó nhất) hiện trước khi learner biết bài là gì, lại gắn nhãn "Bước 1/2 · Khám phá" trong khi không hề khám phá gì, và nút chính lại là "Bỏ qua khởi động". Rút còn 1 câu 4 mức bằng tiếng người; nút chính luôn "Bắt đầu làm bài"; calibration chuyển sang so tự-đánh-giá vs thực tế bằng lời | REQ-LRN-15 (PRD §5), apps/learn/src/Learning.tsx, warmup API (predicted_correct → optional) | ✅ |
| SRC-067 | 2026-08-14 | Chỉ đạo: đổi Design System toàn site (nemo12.com + learn + marlins): khung trình bày kiểu framer.com / screen.studio (quá sạch, quá ít element); màu sắc/hình ảnh kiểu phim Finding Nemo, dưới biển, hoạt hình 3D Pixar | DS-001 v0.3 §2: tokens v0.3 (aqua scale, nền nước trong, radius/bóng framer), hero tia sáng + bong bóng, gloss Pixar; web hero full-viewport | ✅ |
| SRC-068 | 2026-08-14 | Chỉ đạo: cải tiến toàn diện hình ảnh trên nemo12.com + learn + marlins (duyệt đề xuất: bỏ emoji, bộ hình riêng) | N12Art.tsx: 8 mascot Pixar-cute (turtle/shark/octopus/squid/ray/whale/dolphin/marlin) + 10 icon đại dương (lab=sứa, exam=hải đồ, goal=hải đăng, map, compass, portrait, family, treasure, review, progress) + Seafloor scene; DS-001 §2c | ✅ |
| SRC-069 | 2026-08-14 | Chỉ đạo: practice trả lời theo 3 bước tuần tự — learner đổi thoải mái lựa chọn đáp án, bấm "Tiếp" mới hiện "Con tự tin tới mức nào", bấm "Tiếp" lần nữa mới hiện "Vì sao con chọn đáp án A/B/C/D" (nêu đúng chữ cái đã chọn) — không dồn cả 3 lớp đo vào một màn (nối tiếp SRC-056/060, REQ-EXAM-07) | Learning.tsx (Practice step machine answer→confidence→why); response_ms đo tới lúc chốt đáp án | ✅ |
| SRC-070 | 2026-08-14 | Feedback hình ảnh: logo cá hề 3D; rùa Turtle đang bơi; Shark mạnh mẽ hơn; icon to gấp 3-5 lần; trình bày lại home learn + nemo12.com; phủ nốt chip Orca + mọi chỗ emoji sót | NemoLogo v2 (radial 3D + rim light) + favicon; Turtle/Shark v2; n12-icon-lg 7rem + n12-icon-xl 10rem; Root learn + web card mascot h-36 căn giữa; ArtIcon quét regex toàn bộ slot/section-title; DS-001 §2c | ✅ |
| SRC-071 | 2026-08-14 | Feedback UI home learn: bỏ emoji 👋 chỗ chào, bỏ hết mũi tên trên card, bỏ chấm xanh trạng thái, avatar góc phải phải là ảnh thật của user và nhỏ lại | migration 0022 users.avatar_url + lưu/refresh từ Google profile mỗi lần login + /v1/me trả avatar_url; AvatarMenu 44→36px dùng ảnh thật (6 app); Root learn + web bỏ arrow/dot | ✅ |
| SRC-072 | 2026-08-14 | Feedback: các option của câu "Vì sao con chọn đáp án B?" — "cực kỳ vớ vẩn" (bộ 4 lựa chọn viết giọng Toán: "Làm từng bước ra kết quả", "Nhớ công thức" — vô nghĩa với câu Ngữ văn về Thạch Sanh). Lý do chọn phải tinh chỉnh theo câu hỏi hoặc theo môn | SDD-012 §4 justification taxonomy (4 mã chuẩn derived/recalled/eliminated/guessed + chữ theo môn × strand), SDD-017 §4 (tự khai "đoán" → không tính retrieval độc lập); apps/learn/src/justifications.ts, justification_kind trong practice answer API | ✅ |
| SRC-073 | 2026-08-14 | Chỉ đạo: trang Khám phá (Marlins) và trang gốc (learn) phải hiển thị danh sách các School, tách Whale và Orca thành cụm riêng (không phải nơi học), bấm từng school mới vào trang chi tiết; tên hiển thị phải nói rõ nó là cái gì: "Turtle School"… "Ray School", còn Whale · Du học và Orca · Cuộc thi để các bé hiểu | schoolsInfo.ts thêm label (learn) + bản marlins mới (LEARNING_SCHOOLS 5 school + HUB_LABEL); Explore.tsx viết lại: list → SchoolDetail (3 cụm Dành cho ai / Học thế nào / Ra khỏi đây con có) + hub Whale/Orca, URL riêng /explore/{code}; learn Root chia 3 cụm (Các school · Cơ hội và sân chơi · Hồ sơ của con) | ✅ |
| SRC-074 | 2026-08-14 | 🗄️ (phần "filter tiếng Anh" đã bị SRC-134 đảo lại 2026-08-15) Feedback Whale: cụm filter dùng tiếng Anh (kể cả nút Lưu); cụm kết quả tách 2 cột; cho chọn tối đa 2 quốc gia (trước là 4); kết quả quá nhiều thông tin, cần ẩn hầu hết cho sạch; bấm từng card ra trang chi tiết riêng | WhaleHub.tsx (learn + marlins): filter EN (Dream destinations / Pick up to 2 / Save), MAJORS tách value-label (giữ chuỗi đã lưu để backend match), MAX_COUNTRIES=2, card kết quả chỉ cờ + tên + 1 dòng; trang chi tiết quốc gia: learn route /whale/country/{code}, marlins /explore/whale/{code} | ✅ |