Skip to content

Sổ nguồn SRC-0675 tới SRC-0699 ​

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.

IDNgày nhậnNguồnCanonical hóa vàoTrạng thái
SRC-6752026-09-04Chủ dự án 2026-09-04: mọi email phải có nền đẹp như bản inactivity-nudge, mọi email BCC về dac2205@gmail.com, và cần tài liệu mô tả các loại emaildocs/reference/emails/rules.md✅
SRC-6762026-09-04Chỉ đạo 2026-09-04: testimonials hai lớp (trích dẫn + câu chuyện dài kiểu k12.com/day-in-the-life), trang /stories chung, nhúng vào trang IELTS · Toán 6-7 · About; quản trị ở dolphin với hai trục trạng thái (nội dung: lưu tạm/hoàn thành; hiển thị: private/public); nội dung mẫu hư cấu + ảnh placeholder để xem trướcSDD-029 (IA trang công khai) + SDD-019 §8 (showcase/testimonials)✅
SRC-6772026-09-04Chỉ đạo chủ dự án 2026-09-04 (ảnh chụp màn hình): nút 'Bắt đầu học' ở sidebar trang khoá bố mẹ nhìn xấu; chế độ học của khoá bố mẹ phải theo khung learn.nemo12.com (panel trái tối, mục lục trong bài, viên nút 'Đọc xong cụm này' / 'Tôi đã hoàn thành')docs/design-system/index.md✅
SRC-6782026-09-04Chỉ đạo chủ dự án 2026-09-04 — lịch học cho learner, phụ huynh, mentorPRD-001 REQ-CAL-01..04 / SDD mới✅
SRC-6792026-09-05Chi dao chu du an 2026-09-05: hoc sinh tu login learn.nemo12.com, moi khoa cho hoc thu mot lesson dau tien, khu Dictation vao luyen thoai maiSDD-032 + PRD-001 REQ-TRI-01..05 + docs/reference/errors.md✅
SRC-6802026-09-05Chỉ đạo: gộp quản lý khoá học Nemo + Marlins vào một khu vực trong Coral (cấu trúc Course/Unit/Lesson y hệt nhau); làm lần lượt 3 bước: đưa khoá bố mẹ vào D1, một tab Khoá học duy nhất, cho sửa inlineSDD-013 §Tab Khoá học; migration 0203; modules/coral/courses.ts + 13 behavior test; apps/coral/src/Courses.tsx; gen-parent-courses.mjs + pull-parent-courses.mjs + cổng check-parent-courses.mjs✅
SRC-6822026-09-07Chủ dự án 2026-09-07: cần ~10 email gửi bố mẹ (tự quyết loại/lúc gửi/trigger), UI đồng nhất, mọi email CC dac2205@gmail.com, và tracking được ai mở email vào những thời điểm nàodocs/reference/emails/rules.md✅
SRC-6832026-09-07Chủ dự án 2026-09-07: nối dây 9 email còn lại — mỗi loại thư phải có trigger thật chạy trong hệ, không chỉ có templateworkers/api/src/modules/email/campaigns.ts✅
SRC-6842026-09-07Chủ dự án 2026-09-07: loại learner 'Doo doo' và 'SOC' ra khỏi danh sách gửi emailmigrations/0207_email_suppressions.sql✅
SRC-6852026-09-07Chủ dự án 2026-09-07: xây nút ngừng nhận thư cho phụ huynh trong mọi emailworkers/api/src/modules/email/unsubscribe.ts✅
SRC-6862026-09-07Chủ dự án 2026-09-07: xây màn quản lý danh sách chặn email trong admin (xem ai đang bị chặn, vì sao, bỏ chặn bằng một nút)apps/admin/src/pages/Emails.tsx✅
SRC-6872026-09-07Chủ dự án 2026-09-07: tận dụng mọi cơ hội gửi thư cho member, nhưng TRẦN tối đa 1 thư mỗi member mỗi ngày; thư trả lời hành động vừa xảy ra không bị trần chặnworkers/api/src/modules/email/dispatch.ts✅
SRC-6882026-09-07Audit toan he: doi chieu tai lieu voi ma nguon, dong bo, ra Audit Report, fix va nang capdocs/quality/audits/audit-2026-09-08.md✅
SRC-6892026-09-08Chủ dự án 2026-09-08: sửa màn Email admin — nút Bỏ chặn bị cắt khỏi màn, cột Mở trànapps/admin/src/pages/Emails.tsx✅
SRC-6902026-09-08Chủ dự án 2026-09-08: chạy thử lượt quét 19:00 để xem trần ngày có ăn không — cần đường chạy KHÔ (dry run) xem trước ai nhận gì mà không gửi thậtworkers/api/src/modules/email/campaigns.ts✅
SRC-6912026-09-08Chỉ đạo: cần biết bố mẹ nào đã gặp trực tiếp, gặp mấy lần, lần gần nhất cách đây bao lâu, và lần trao đổi qua chat gần nhất là khi nào — "vì có một hiện tượng, đó là khi ko trao đổi với phụ huynh, thì dần dần phụ huynh và con của họ nghỉ học hết"Câu lý do đổi hẳn bản chất việc: từ một cuốn sổ thành một cái cảnh báo. Sổ trả lời chuyện gì đã xảy ra và được mở khi người ta đã nghĩ tới việc mở nó; nhưng gia đình sắp nghỉ đúng là gia đình không ai còn nghĩ tới, nên cuốn sổ ấy sẽ không được mở đúng lúc nó có ích nhất. Vì vậy làm hai phần, và phần thứ hai mới trả nợ cho lý do trên. (1) Ghi: migration 0208 thêm hai cột vào family_notes — channel (in_person · video · call · chat · email) và happened_on — không dựng bảng riêng. Một lần gặp ĐÃ LÀ một ghi chú; tách bảng nghĩa là mentor phải ghi hai chỗ cho một lần gặp, và chỗ thứ hai là chỗ sẽ bị quên — đúng cách phần lớn CRM chết dữ liệu. channel cố ý KHÔNG phải một tag dù thêm vào đó rẻ hơn: tag là nghĩa của nội dung, kênh là đường nội dung đó tới — hai trục vuông góc, một note vừa là pain vừa xảy ra khi gặp mặt; nhét vào tag thì danh sách đóng phình gấp đôi và mọi câu đếm phải quét tags_json LIKE mà không dùng được chỉ mục (Audit #005 đã gỡ một lần). happened_on tách khỏi created_at vì hai ngày đó khác nhau trong đời thật — mentor gặp thứ Bảy, tối Thứ Ba mới ngồi viết; đếm theo ngày gõ thì con số sai đúng bằng khoảng mentor còn nợ việc ghi chép, và sai theo hướng LẠC QUAN là kiểu sai tệ nhất ở đây vì nó giấu đúng những nhà cần gọi. (2) Cảnh báo: thang ok → watch (>30 ngày) → alarm (>60), never đứng riêng vì việc phải làm khác hẳn — alarm là nối lại quan hệ đã có, never là bắt đầu từ đầu. Ô lọc lâu rồi không ai trao đổi chạy trong SQL chứ không lọc mảng sau LIMIT 200: lọc sau thì nhà im lặng ở vị trí 201 không bao giờ hiện ra, mà đó đúng là nhà cần tìm nhất — im lặng lâu đồng nghĩa updated_at cũ nên bị chính ORDER BY đẩy xuống cuối. Một luật nhỏ quyết định màn này có được dùng hay không: nhà VỪA TẠO chưa tiếp xúc lần nào KHÔNG phải báo động — không phân biệt thì mỗi lần nhập liệu đẻ một báo động giả, và danh sách đầy báo động giả sẽ bị bỏ qua TOÀN BỘ, kể cả dòng đúng. Hai ngưỡng 30/60 là PHỎNG ĐOÁN, ghi thẳng trong code: chưa đối chiếu với ca nghỉ thật nào; khi đủ dữ liệu phải đo lại, vì nếu ca nghỉ thường có khoảng im lặng ngắn hơn 60 ngày thì ngưỡng đang báo quá muộn. Vẽ ở đâu: danh sách CHỈ hiện phù hiệu khi khác ok (luật SRC-649 — dấu hiệu hiện ở mọi dòng thì không phân biệt được gì), màn chi tiết luôn hiện đủ. Phù hiệu dùng CHỮ không dùng icon: "47" là thông tin, không hình vẽ nào nói được một con số. Chữa kèm một lỗi cùng loại đã sót: danh sách gia đình vẫn đếm note_count từ bảng interactions cũ trong khi ghi chú đã chuyển sang family_notes — đúng lỗi đã chữa một lần ở màn chi tiết mà sót chỗ này, nên nhà có hàng chục ghi chú vẫn hiện "0". Giới hạn nói thẳng: chat là số liệu GHI TAY — Nemo12 không có hệ nhắn tin hai chiều, hệ email hiện có là một chiều và một bản tin đã gửi không phải một cuộc trao đổi; nên cột chat chỉ đúng bằng mức mentor chịu ghi, và sẽ đầy đủ kém hơn hẳn cột gặp trực tiếp vốn hiếm và đáng nhớ. Nối Zalo để đếm tự động là việc riêng, chưa làm✅
SRC-6922026-09-08Chỉ đạo chủ dự án 2026-09-08: tài liệu đọc kiểu Substack trong mỗi lesson, soạn bằng TipTap trong admin, nhúng được ảnh và videoSDD-033✅
SRC-6932026-09-08Chỉ đạo 2026-09-08: tab Unit trong Coral đổi tên thành Độ phủ — nó soát độ phủ (skill_nodes/labs/items), khác hẳn tab Khoá học soát chữ nghĩa (curriculum_*); không gộp hai tabnhãn tab trong apps/coral/src/App.tsx + ghi chú phân vai ở Units.tsx và SDD-013✅
SRC-6942026-09-08Chỉ đạo chủ dự án 2026-09-08: rà soát UI nemo12.com để làm SEO, điểm SEOQuake và PageSpeed phải rất cao, và mở rộng lên khoảng 1000 trang được lập chỉ mụcSDD-029 §5 (prerender + worker 404 + JSON-LD), §8 mới (họ trang nội dung)✅
SRC-6952026-09-09Chỉ đạo 2026-09-09: gắn www.nemo12.com vào worker giúp — kiểm ra domain đã gắn sẵn, lỗi thật là worker không chạy khi đường dẫn có sẵn file tĩnh nên chuyển hướng www 301 không bao giờ nổrun_worker_first trong apps/web/wrangler.jsonc + ghi chú tại worker/index.ts✅
SRC-6962026-09-09Chỉ đạo chủ dự án 2026-09-09 (chat): vào môn không bắt làm Diagnostic ngay; làm tính năng mục tiêu IELTS có 4 kỹ năng + Overall tự tính + tối đa 5 mốc trung gian; đưa vào Student Portraitdocs/product/prd-001-nemo12.md✅
SRC-6972026-09-09Chỉ đạo chủ dự án 2026-09-09 (chat): trang lộ trình IELTS riêng — khoảng cách giữa các mốc, điểm tăng giữa hai mốc, và nhận xét chặng nào rủi ro nhấtdocs/product/prd-002-learner-ux.md✅
SRC-6982026-09-10Chỉ đạo chủ dự án 2026-09-10 (chat): lộ trình IELTS trình bày dạng BẢNG — mỗi cột một mốc, cột cuối là ngày thi cuối cùng; bốn dòng là bốn kỹ năng, thêm vài dòng Overall/khoảng cách/nhận xétdocs/product/prd-002-learner-ux.md✅
SRC-6992026-09-10Chỉ đạo chủ dự án 2026-09-10 (chat): bỏ ELA.8 tới ELA.11 khỏi khung năng lực, ở cả khung nemo lẫn khung Englishdocs/reference/data-dictionary.md✅