Sổ nguồn SRC-0725 tới SRC-0749
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-725 | 2026-09-15 | Chủ dự án 2026-09-15: đổi chữ khối 3, 4, 5 của landing page IELTS theo cùng dạng đã chốt cho khối 1 và 2 | docs/architecture/sdd-029-public-site-ia/index.md | ✅ |
| SRC-726 | 2026-09-15 | Chủ dự án 2026-09-15: trang Journey dùng đúng lộ trình 5 bước của trang IELTS chính; ba trang Từ vựng, Band điểm, Đăng ký thi mỗi trang có 5 JTBD, mỗi JTBD 3 pain kèm solution tương ứng | docs/architecture/sdd-029-public-site-ia/index.md | ✅ |
| SRC-727 | 2026-09-15 | Chủ dự án 2026-09-15: bổ sung trang giới thiệu những cá nhân đứng sau hệ thống (Dolphins/mentors) cho learner IELTS yên tâm; kèm hồ sơ 5 người | docs/architecture/sdd-029-public-site-ia/index.md | ✅ |
| SRC-728 | 2026-09-15 | Chủ dự án 2026-09-15: learner IELTS cần thấy 3-5 ví dụ về Mục tiêu, chọn một cái để tham khảo và hiểu một tài liệu mô tả mục tiêu trông ra sao | docs/architecture/sdd-029-public-site-ia/index.md | ✅ |
| SRC-729 | 2026-09-15 | Chủ dự án 2026-09-15: mỗi trang trong cụm IELTS cần khoảng 5 check-point nhỏ (quiz 3 đáp án, hoặc cụm 3 câu True/False trả lời xong bấm nút mới hiện điểm và đáp án) để người đọc lướt vẫn nhớ | docs/architecture/sdd-029-public-site-ia/index.md | 🟡 |
| SRC-730 | 2026-09-15 | Chủ dự án 2026-09-15: phần Đọc tiếp trên các trang quá nhiều mục, chỉ hiện tối đa 6 mục | docs/architecture/sdd-029-public-site-ia/index.md | ✅ |
| SRC-731 | 2026-09-15 | Chủ dự án 2026-09-15: đổi footer cho các trang IELTS và SAT cho phù hợp learner của từng kỳ thi; AP chưa cần | docs/architecture/sdd-029-public-site-ia/index.md | ✅ |
| SRC-732 | 2026-09-15 | Chủ dự án 2026-09-15: học viên kết hợp 5 cách học (học cùng giáo viên mỗi tuần một buổi và chọn được lịch, làm bài trong hệ thống, chat với giáo viên, forum chung, học cùng Nemo AI); tách vào FAQ và các trang phù hợp | docs/architecture/sdd-029-public-site-ia/index.md | ✅ |
| SRC-733 | 2026-09-15 | Chủ dự án 2026-09-15: learner IELTS chọn slot thời gian yêu thích nhất và yêu thích nhì trong các slot Teacher đã mở (mặc định CN 10-12h, CN 15-17h, tối T2 và T4 20-22h, hàng tuần); đăng ký trước 48 giờ; mỗi buổi có link Google Meet lưu trên hệ thống | docs/architecture/sdd-034-mentor-slots.md | ✅ |
| SRC-734 | 2026-09-15 | Chủ dự án 2026-09-15 (2 ảnh): thẻ .n12-card chữ trắng trên nền trắng ở cụm /mentors dưới theme-www, và trang /mentors rút còn tên — bấm mới mở dần thông tin | docs/architecture/sdd-029-public-site-ia/index.md | ✅ |
| SRC-735 | 2026-09-15 | Chủ dự án 2026-09-15 (PRD đầy đủ): trang học phí IELTS theo ba mức đồng hành Dory/Marlin/Nemo, có bộ gợi ý gói | docs/architecture/sdd-029-public-site-ia/index.md | ✅ |
| SRC-736 | 2026-09-15 | Chủ dự án 2026-09-15: trang IELTS Mentors là trang RIÊNG, không liên quan tới trang mentor chung | docs/architecture/sdd-029-public-site-ia/index.md | ✅ |
| SRC-737 | 2026-09-15 | Chủ dự án 2026-09-15: hệ thống gửi kha khá email cho IELTS Learner theo từng giai đoạn, nhiều thư chúc mừng và ghi nhận từng cụm việc | docs/reference/emails/index.md | ✅ |
| SRC-738 | 2026-09-15 | Chủ dự án 2026-09-15: luồng onboarding IELTS learner — sau Mục tiêu thì làm quiz đánh giá hiểu biết toàn cảnh về IELTS; Assessment có màn giới thiệu mục tiêu và ý nghĩa, learner chủ động bấm vào rồi mới làm bài, chia theo bốn kỹ năng | docs/architecture/sdd-035-ielts-onboarding.md | ✅ |
| SRC-739 | 2026-09-15 | Chủ dự án 2026-09-15: learner khai thêm sở thích, quá khứ, điểm mạnh, điểm yếu để Teacher hiểu thêm; learner upload ảnh thật của chính mình | docs/architecture/sdd-036-learner-self-profile.md | ✅ |
| SRC-740 | 2026-09-15 | Chỉ đạo chủ dự án 2026-09-15: rút gọn trang Students Home, hai lối vào IELTS/SAT thay link course chi tiết; gỡ toàn bộ AP khỏi site vì chưa cung cấp dịch vụ đào tạo AP | SDD-029 §3.1 | ✅ |
| SRC-741 | 2026-09-16 | Chủ dự án 2026-09-16: Nemo12 Design System v1.0 — Premium Learning OS living inside an Ocean World. Ocean Palette đầy đủ, section rhythm, giảm card, 3 cấp button, motion dưới nước, ocean object library, character system. Chốt bổ sung: giữ Arial, trần cỡ hiển thị 48px, áp apps/web trước. | docs/design-system/index.md | ✅ |
| SRC-742 | 2026-09-16 | Chủ dự án 2026-09-16: chỉnh tiêu đề hai thư IELTS (lộ trình sẵn sàng, mục tiêu đã ghi lại) để có tên learner trên Subject | workers/api/src/shared/ieltsEmails.ts | ✅ |
| SRC-743 | 2026-09-16 | Chỉ đạo: "Có nhiều dashboard, và trong nhiều cái, thì có 1 dashboard riêng để rà soát và theo dõi các IELTS Learners, và 1 dashboard riêng để theo dõi SAT Learners. Sẽ còn rất nhiều dashboard khác, do đó cần lường trước" | Câu cuối quyết định thiết kế. Cần hai dashboard thì viết hai màn là xong và nhanh hơn; nhưng rất nhiều biến bài toán thành bài khác — thứ phải thiết kế là chi phí của cái thứ mười một, không phải hình dạng của cái thứ nhất. Thước đo duy nhất: thêm một dashboard phải sửa bao nhiêu chỗ? Khung này trả lời một chỗ — một dòng trong registry.ts; không route mới, không truy vấn mới, không màn hình mới. SDD-037. Bốn quyết định, kèm giá của phương án ngược: (1) Đặc tả trong CODE, không trong D1. Giữ thành dòng dữ liệu thì linh hoạt hơn nhưng đặc tả TRỎ TÊN chỉ số — trỏ sai chỉ nổ lúc chạy, trên máy người dùng, không cổng nào bắt trước; trong code MetricId là union kiểu nên trỏ sai là đỏ lúc typecheck. Cùng lập luận đã dùng cho tag đóng của Dory và cho prompts.ts. (2) API trả CẢ đặc tả lẫn dữ liệu (thẻ đã tính, cột đã đặt nhãn, hàng đã xếp). Đây là chỗ quyết định việc lường trước có thật hay không: nếu client phải biết dashboard nào có thẻ nào thì mỗi bản mới lại là một lần sửa giao diện và khung chỉ đỡ được nửa việc. Dashboards.tsx KHÔNG có nhánh if (id === …) nào — bất biến cần giữ khi review bản mới. (3) Chỉ số đọc BẢNG CHUNG. Mọi bảng tín hiệu learner đã có sẵn subject_id (learner_evidence, learner_skill_state, exam_attempts, learner_retention) nên thêm SAT KHÔNG cần thêm bảng nào. Phát hiện đáng nêu: hệ đang đi hướng khác ở một chỗ — IELTS hiện có BỐN bảng riêng (learner_ielts_baselines · _declarations · _goals · _milestones). Cách đó đúng cho thứ chỉ IELTS mới có (band, bốn kỹ năng), nhưng nếu mỗi chương trình đều kéo bốn bảng thì rất nhiều dashboard thành rất nhiều lược đồ song song, đúng RISK-012 ở tầng dữ liệu; khung này cố ý KHÔNG đọc các bảng đó nên chương trình mới có dashboard chạy ngay, phần đặc thù là phần bù sau. (4) subjects liệt kê tường minh, không khớp tiền tố — tiền tố trông đúng cho tới ngày có subject tên na ná mà không thuộc nhóm, và lúc đó dashboard âm thầm đếm thêm người; có test chốt sat-learners không hút subject IELTS nào. Phạm vi learner là HỢP hai đường vào (đã đăng ký khoá · đã có dấu vết học): chỉ lấy đăng ký thì bỏ sót người tự luyện chưa vào khoá — nhóm đang quan tâm mà chưa ai nhận; chỉ lấy dấu vết thì bỏ sót người vừa đăng ký chưa làm gì — nhóm cần xếp buổi đầu. Luật của các con số: chững lại không gộp với chưa từng học (hai việc khác nhau: kéo lại vs xếp buổi đầu, gộp thì con số không dẫn tới hành động nào); mastery trung bình chỉ tính trên người CÓ dữ liệu (coi người chưa học là 0 thì trung bình tụt mỗi lần thêm học sinh, con số đi xuống khi có thêm học viên là con số nói sai chuyện); mọi số đếm kèm mẫu số; không có dữ liệu thì để TRỐNG chứ không vẽ gạch; điểm lần thi gần nhất KHÁC MAX(score) là điểm cao nhất, rất dễ đọc thành đang ở mức này, nên lấy bằng truy vấn riêng; hoạt động gần nhất là muộn nhất trong BA nguồn (bài làm · kỹ năng · thi) vì lấy một nguồn thì người vừa thi xong vẫn hiện ba tháng không thấy gì; thứ tự bảng là thứ tự VIỆC CẦN LÀM chứ không theo tên, vì xếp theo tên thì người đáng gọi nhất nằm giữa trang. Ngưỡng 14 ngày (IELTS) / 21 ngày (SAT) là phỏng đoán, chưa đối chiếu dữ liệu bỏ học; có số thật thì sửa đúng một con số. Giới hạn nói thẳng: chưa có chỉ số đặc thù chương trình (dashboard IELTS chưa đọc band mục tiêu — là lựa chọn, không phải quên); chưa phân trang, và khi thêm thì thẻ số PHẢI tính trên toàn bộ chứ không trên trang đang xem, đây là bẫy kinh điển; chưa có bộ lọc chỉ học viên tôi chăm; test kiểm luật tính toán chứ không kiểm con số khớp dữ liệu production. 15 test | ✅ |
| SRC-744 | 2026-09-16 | Chủ dự án 2026-09-16: gom toàn bộ code email vào một chỗ (modules/email) cho dễ quản lý và lập trình; rà hết chỗ còn phân tán | workers/api/src/modules/email/ | ✅ |
| SRC-745 | 2026-09-16 | Chủ dự án 2026-09-16: rà soát GitHub + Cloudflare để giảm chi phí, tạo skill riêng dùng browser để audit | docs/ops/cost-audit.md + .claude/skills/cost-audit/SKILL.md + scripts/cost-audit.mjs | ✅ |
| SRC-746 | 2026-09-16 | Chủ dự án 2026-09-16: làm lại toàn bộ sitemap www.nemo12.com theo điều hướng Who → Goal → Subject. Homepage là Decision Interface; Step 2 là 3 goal theo Jobs-to-be-Done (vào ĐH / vào cấp 3 / vào cấp 2); mini-card môn đi THẲNG vào subject page. Chốt qua 10 câu hỏi: (1) nhân đôi persona students/parents ở tầng landing, khác UI + khác ngôn ngữ; (2) không quan tâm ca phụ huynh gửi link cho con; (3) lập bảng redirect, chấp nhận vứt vài trang cũ; (4) slug 100% tiếng Anh; (5) làm sơ bộ trước, đào sâu IELTS trước; (6) chủ dự án sẽ tự rà trang nào đã có nội dung thật; (7) bỏ qua Diagnosis ở bước điều hướng, vào thẳng subject page — Diagnosis thành CTA trên trang đó; (8) homepage 2 card + dải cuộn xuống; (9) nhớ persona và goal bằng localStorage; (10) Community/About/Pricing vào sitemap lần này. Ba quyết định vòng hai: giữ /students /parents SỐ NHIỀU (không đổi 124 URL đang sống); phương án (a) goal thắng school taxonomy — Turtle/Shark/Squid/Octopus/Whale tụt xuống thành tên gói học, giữ URL làm trang thương hiệu; Octopus (AI & Future Skills) đứng RIÊNG ngoài 3 goal vì không phải kỳ thi vào trường; không có /pricing công khai, học phí nằm trong từng subject page | docs/architecture/sdd-029-public-site-ia/index.md | 🔵 |
| SRC-747 | 2026-09-16 | Chủ dự án 2026-09-16: chỉnh toàn bộ giao diện email sang kiểu nền sáng ấm, thẻ trắng, nút cam đất — đặc biệt là màu sắc và bố cục (kèm ảnh mẫu Conan School) | workers/api/src/modules/email/theme.ts | ✅ |
| SRC-748 | 2026-09-16 | Chủ dự án 2026-09-16: cấm ký tự em dash trong MỌI chữ người dùng đọc (email, website, và nội dung sinh qua SQL script); mọi ngày hiển thị phải là DD.MM.YYYY | docs/conventions.md | ✅ |
| SRC-749 | 2026-09-16 | Chủ dự án 2026-09-16: chạy backfill xoá em dash khỏi 197 câu hỏi và 7 kỹ năng đang nằm trong D1 production | scripts/seed-strip-emdash-d1.sql | ✅ |