Sổ nguồn SRC-0075 tới SRC-0099
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-075 | 2026-08-14 | Chỉ đạo: vào Whale phải tới được vài khu vực — khám phá các quốc gia, học bổng, câu chuyện thành công — và đi sâu vào từng trang nhỏ bên trong | WhaleHub.tsx tách hub (4 card khu vực + Dành cho em) và 5 trang con: /whale/quoc-gia, /whale/quoc-gia/{code}, /whale/hoc-bong, /whale/cau-chuyen, /whale/co-hoi; WhaleShell khung chung; giữ redirect mềm /whale/country/{code} | ✅ |
| SRC-076 | 2026-08-14 | Chỉ đạo: đưa màu riêng từng school ra nền card trang home; thêm animation khi hover; và icon phải "biển cả" hơn (vài icon chưa liên quan biển) | .n12-card-school (wash accent 4-9%, hover đậm + bóng theo accent) + .n12-swim (mascot bơi lên khi hover); vẽ lại 8 icon thành vật thể biển: books→san hô quạt, progress→sóng dâng, flag→phao tiêu, palette→sao biển ngũ sắc, puzzle→2 mảnh vỏ sò, grad→ngọc trai trong vỏ sò, trophy→vỏ ốc vàng, abacus→hạt bọt biển | ✅ |
| SRC-077 | 2026-08-14 | Chỉ đạo Phòng Lab: gom theo Module → Unit → Experience, KHÔNG gom theo lớp; mỗi Unit chứa vài Learning Experience và Assessment Experience; icon đầu mỗi Experience phân loại cái nào để hệ thống ĐO, cái nào để HỌC | migration 0023 (skill_nodes.module/module_order) + scripts/seed-node-modules.mjs (15 module Toán xuyên lớp, môn khác lấy tên mạch); /labs trả module + check_available; practice/start nhận kind=check → session mastery_check, chọn câu discriminator/boundary; Learning.tsx: Mạch → Module → Unit → Experience (🧪 Khám phá · ✏️ Luyện tập = Để học; 🎯 Đo mức vững = Để đo) | ✅ |
| SRC-078 | 2026-08-14 | Chỉ đạo: nút chuyển English ↔ Vietnamese ở góc trên phải | lang.tsx (LangProvider + useLang + LangToggle, nhớ lựa chọn trong localStorage); gắn cạnh avatar ở 2 header của learn; catalog chuỗi giao diện + nội dung song ngữ lấy title_en từ DB (REQ-KNW-16) | ✅ |
| SRC-079 | 2026-08-14 | Chỉ đạo Marlins Portrait: đừng hiển thị tất cả portrait dàn ra, chỉ liệt kê tên, bấm vào mới tới trang chi tiết từng portrait; tách "Lộ trình dài hạn" ra trang riêng | Portrait.tsx tách 3 phần: danh sách (tên + tuổi + số mốc + phản hồi của con), PortraitDetailPage (URL #/child/{id}/portrait/{pid}), RoadmapPage (URL #/child/{id}/roadmap, gồm Roadmap + form thêm mốc/lộ trình + mốc chưa gắn) | ✅ |
| SRC-080 | 2026-08-14 | 🗄️ (đã bị SRC-145 đảo lại 2026-08-15, cùng lúc với SRC-074→SRC-134) Chỉ đạo: cụm filter của Orca đổi hết sang tiếng Anh (đồng bộ với Whale — SRC-074) | OrcaHub.tsx: DOMAIN_EN (All · Mathematics · Science · Robotics · AI · Coding · English · Writing · Debate · Arts); nhãn tiếng Việt giữ cho trang chi tiết cuộc thi | ✅ |
| SRC-081 | 2026-08-14 | Chỉ đạo: bỏ Ray School, chuyển hết SAT và AP vào Squid School (Squid = IELTS + SAT + AP) | PRD-001 §1 (bảng brand) + REQ-SCH-10/11 amend, REQ-SCH-12 superseded, US-50 đổi persona; SDD-011 §7-8; code: schoolsInfo learn/marlins, coral schools, web schools (bỏ trang /ray), Onboarding, SchoolHome (Squid có cả mục tiêu IELTS lẫn SAT), backend SCHOOLS bỏ 'ray'; dữ liệu: enrollment Ray chuyển sang Squid | ✅ |
| SRC-082 | 2026-08-14 | Feedback màn luyện tập: bỏ label "Câu 4/10"; bỏ scrollbar dọc ở hàng tab Today/Lab; link "Chưa biết, bỏ qua" đổi thành "Skip" và đưa xuống dưới cạnh nút thoát; "Thoát bài học" → "Exit"; ẩn hết header khi đang trong màn này | Learning.tsx (bỏ đếm câu, hàng Skip + Exit dưới cùng, onImmersive); App.tsx Cockpit ẩn header khi immersive + nav tab ẩn scrollbar | ✅ |
| SRC-083 | 2026-08-14 | Chỉ đạo màn luyện tập: kết quả hiện ngay sau mỗi câu (sau khi khai độ tự tin và vì sao) — đảo SRC-110 cho practice, bài "đo mức vững" vẫn giấu tới cuối; cứ 3 câu đúng liên tiếp chúc mừng một kiểu riêng; làm hết 10 câu chúc mừng nồng nhiệt; 5 bong bóng khí kiểu trái tim Duolingo — sai quá 5 câu là dừng bài | Learning.tsx: reveal per câu + tô đúng/sai, CHEERS (5 lời chúc chuỗi 3), màn finale theo tỷ lệ đúng, Bubbles 5 mạng (Skip không mất bong bóng), màn "hết bong bóng" | ✅ |
| SRC-084 | 2026-08-14 | Chỉ đạo trang quốc gia (Whale): học bổng lên trên cùng, 6 card chỉ TÊN, bấm ra chi tiết; rồi 6 trường, bấm ra chi tiết; bỏ 3 khối chung chung (học bổng/giáo dục/chi phí); success case phải đúng quốc gia đó; dữ liệu tra từ internet, thêm bảng xếp hạng đại học mỗi nước | migration 0024 whale_rankings; GET /v1/whale/countries/{code} trả thêm rankings, stories lọc theo tag nước (bỏ fallback châu lục); GET /v1/whale/scholarships[?country], /scholarships/{id}, /universities/{id}; trang /whale/hoc-bong/{id}, /whale/truong/{id}; xếp hạng QS 2027 tra từ topuniversities.com (92 dòng, Singapore chỉ 4 vì QS chỉ xếp 4 trường); dữ liệu tra web: 72 trường (6/nước), 73 học bổng (6/nước, SG 7), 24 case theo đúng nước (scripts/whale-data-p1..p3.json + seed-whale-from-json.mjs) | ✅ |
| SRC-085 | 2026-08-14 | Chỉ đạo: đổi dòng phụ của school — Turtle thành "Học chắc, không học vẹt, không hổng"; Squid bỏ chữ English, thành "Vào thẳng đại học bằng IELTS · SAT · AP" | schoolsInfo.ts learn + marlins | ✅ ⚙️ |
| SRC-086 | 2026-08-14 | Chỉ đạo: menu avatar bỏ hiển thị tên người dùng; mục cuối đổi thành "Logout" | AvatarMenu.tsx learn/marlins/mentors/coral | ✅ |
| SRC-087 | 2026-08-14 | Chỉ đạo (learn): con chỉ xem danh sách portrait, bấm mới vào chi tiết; có link tới trang lộ trình dài hạn | PortraitView.tsx: list → detail → roadmap (state nội bộ, nút quay lại đổi theo ngữ cảnh) | ✅ |
| SRC-088 | 2026-08-14 | Chỉ đạo: bấm chip "Turtle School" ở góc trên trái thì về trang chủ của school đó | App.tsx: tách nút logo (về tất cả school) và chip school (về School Home) | ✅ |
| SRC-089 | 2026-08-14 | Chỉ đạo: màn này cần tới được các môn khác như Lý, Hoá, Sinh — tạo bổ sung | seed-science-subjects.mjs: 3 môn (physics/chemistry/biology), 12 mạch, 44 bài kèm module/unit và prereq theo GDPT 2018; SCHOOL_SUBJECTS turtle/shark thêm 3 môn; câu hỏi soạn riêng (items-*.json + seed-science-items.mjs) | ✅ |
| SRC-090 | 2026-08-14 | Chỉ đạo Phòng Lab: bỏ chú giải màu (Cần học/Nên ôn/Chưa học/Đã vững); bỏ dòng "Chọn một bài lab…"; tên mạch, module, unit phải song ngữ (sửa DB nếu cần) | migration 0025 (module_en, unit_en); /labs trả name_en của strand + module_en/unit_en; Learning.tsx dùng tx() cho cả 3 tầng; 64 module + 155 unit dịch qua agent | ✅ |
| SRC-091 | 2026-08-14 | Feedback: web/learn/marlins không cùng hình ảnh, theme, tagline, màu nền — yêu cầu đồng bộ, lấy learn làm chuẩn; coral cũng phải theo Design System | apps/learn/src/schoolsInfo.ts thành nguồn duy nhất (+areas, +alias LEARNING_SCHOOLS/HUB_LABEL), copy sang marlins/web/coral; web bỏ schools.ts riêng (slug→code, title→label, description→goal) + thêm cụm 'học thế nào'; coral nhận NemoLogo + Mascot + Seafloor + tagline chuẩn; favicon cá hề 3D cho cả 6 app | ✅ |
| SRC-092 | 2026-08-14 | Chỉ đạo Phòng Lab: bỏ hết số đếm ("8 bài", "3 unit", "(2)") và badge "n bài nên học" | Learning.tsx | ✅ |
| SRC-093 | 2026-08-14 | Feedback: "Explore the idea" không thấy gì để khám phá; cần Learning Experience Blueprint chuyên cho Explore, mỗi môn tối thiểu 5, và sinh Learning Experience từ blueprint đó | explore/engine.tsx (7 archetype data-driven, SVG procedural) + explore/configs.tsx (config từng bài); seed-explore-blueprints.mjs ghi blueprint vào content_blueprints; Phòng Lab chỉ hiện "Khám phá" khi bài THẬT SỰ có nội dung khám phá. Mở rộng đủ 10 môn ở SRC-095 | ✅ |
| SRC-094 | 2026-08-14 | Chỉ đạo: mỗi module phải có tối thiểu 3 unit | Cấu trúc lại toàn bộ cây: 64 → 52 module / 217 unit, gộp 10 nhóm module dưới 3 bài và chia nhỏ các module 1 unit theo chủ đề thật (node-structure.json + apply-node-structure.mjs). Năm mạch chỉ có 2 bài đã được bổ sung bài ở SRC-096 nên mọi module đều ≥3 unit | ✅ |
| SRC-095 | 2026-08-14 | Chỉ đạo: mỗi môn cần bộ blueprint khám phá khác nhau, đi theo cấp học | Blueprint mang thêm trường levels (cap1/cap2/cap3) trong target_selector_json; thêm 5 archetype cho môn ngôn ngữ và tư duy (timeline, picker, highlight, word-web, blocks) + 19 blueprint mới cho Anh, Văn, IELTS, SAT, AP, GenAI. Tổng 34 blueprint, mỗi môn ≥5, và 63 bài đã có Learning Experience khám phá | ✅ |
| SRC-096 | 2026-08-14 | Feedback: mascot Marlins phải là cá hề (Marlin = bố của Nemo) chứ không phải cá kiếm; đưa card Marlins ra giữa ở nemo12.com; UI marlins/web phải học theo learn | Marlin vẽ lại thành cá hề bố (radial 3D, sọc viền tối, lông mày hiền, thân to hơn Nemo); web đổi thứ tự Nemos · Marlins · Dolphins, card căn giữa mascot h-32; marlins Explore card school/hub = chuẩn learn (n12-card-school + căn giữa + mascot h-36 + n12-swim) | ✅ |
| SRC-097 | 2026-08-14 | Chỉ đạo: dựng Pearl — public knowledge layer tại pearl.nemo12.com, làm bằng VitePress, dùng chung Design System với trang chính. Không gọi là "Docs" trên UI mà là "Pearl — How Learning Works": mục tiêu là nâng mental model của phụ huynh, không phải tra cứu tài liệu. Sáu nhóm nội dung: How Learning Works · How Nemo12 Understands a Learner · Student Portrait · Education Ideas (không xếp hạng trường phái) · How Nemo12 Makes Decisions · Parent Mental Models. 10 keyword: Learning Experience, Assessment Experience, Learner Model, Student Portrait, Mental Model, Evidence, Mastery, Readiness, Pedagogy, Recommendation. Bổ sung trong phiên: ví dụ cụ thể theo từng môn về Inquiry-based Learning theo IB để xem demo cách IB dạy | App mới apps/pearl (VitePress, srcDir: content, 54 trang) + deploy-pearl.yml + custom domain pearl.nemo12.com; theme bắc cầu --vp-* → token DS-001 (.vitepress/theme/pearl.css), thêm portal theme .theme-pearl vào tokens/base.css — không fork token, không copy component; nội dung neo vào SDD-002, SDD-015, SDD-017; nhóm demo IB /ideas/inquiry-ib/ gồm 8 môn × 3 bài học đầy đủ (key concept · global context · statement of inquiry · 3 loại câu hỏi · diễn biến tiết học · chấm theo 4 tiêu chí) | ✅ |
| SRC-098 | 2026-08-14 | Chỉ đạo (kèm ảnh màn admin.nemo12.com): (1) khu vực admin dùng tiếng Anh toàn bộ; (2) mỗi workflow đã chạy phải lưu lại làm bằng chứng; (3) mỗi lần một Engine chạy phải lưu lịch sử để chứng minh nó chạy thật; (4) Goal Model phải tồn tại; (5) cần trang riêng trong admin: danh sách Learner → chọn 1 Learner → link tới từng model (Learner Model, Learner Context Model, Goal Model…) → danh sách phiên bản theo thời gian → click từng phiên bản xem chi tiết nội dung | Goal Model + Goal Engine hiện thực (SDD-002 §16) + run evidence & model version store §19 mới; REQ-INT-29, REQ-PLT-13/14; migration 0027_goal_model_run_history.sql (learner_goal_entries, learner_model_versions, workflow_runs, workflow_run_steps, engine_runs); admin console tiếng Anh + trang Models (4 cấp drill-down) và trang Runs | ✅ |
| SRC-099 | 2026-08-14 | Chỉ đạo: card Dolphins trên nemo12.com là demo, ảnh nhỏ 30% so với card bố mẹ; bấm vào đi tới dolphin.nemo12.com, và cổng này phải login qua Cloudflare Access, chỉ dac2205@gmail.com | web: card Dolphins thành link + mascot h-10 (30% của h-32) + nhãn 'Khu vực nội bộ · demo'; Access app Nemo12 Dolphin đã tạo 2026-08-15 (SRC-132), policy Nemo12 Admin - Owner Allow · Emails · dac2205@gmail.com, session 24h — bảng ba cổng tại open-questions | ✅ |