Nghiệm thu · Sprint 112 · teacher.flyer.us

Nghiệm thu các tính năng Sprint 112

Đối chiếu từng mục trong danh sách Sprint 112 trên bảng roadmap với sản phẩm đang chạy thật và với chính tài liệu PRD của từng mục, để xác định mục nào đã lên production, mục nào mới lên một phần và mục nào chưa có dấu vết nào.

Phạm vi
12 mục của Sprint 112
Môi trường
teacher.flyer.us · exam.flyer.us · data.flyer.vn
Phương pháp
Chạy tự động bằng Playwright + đối chiếu chuỗi giao diện + đọc PRD
Ngày nghiệm thu
25/09/2026
Xuất xứ và giới hạn của tài liệu này Ngày 25/09/2026, yêu cầu tạo ra tài liệu này nguyên văn là: “chạy nghiệm thu cho anh 100% các tính năng của anh ở sprint 112 xem sao nhé — https://roadmap.flyer.vn/sprint-112 — và đẩy lên đây https://acceptance.flyer.vn”.
Tài liệu do trợ lý AI soạn trong một phiên làm việc, dựa trên ba nguồn: bảng Sprint 112 đọc trực tiếp từ cơ sở dữ liệu D1 của roadmap, nội dung 12 trang PRD tương ứng (đều do AI soạn ở bước lập kế hoạch, không phải do đội phát triển), và một lượt chạy tự động trên tài khoản nghiệm thu +8412345673359.
Đây là bản đề xuất để đội sản phẩm thảo luận, chưa phải kết luận nghiệm thu chính thức.
1/12
1 mục xác nhận lên trọn vẹn · 5 mục lên một phần · 4 mục chưa thấy dấu vết
1 mục ngoài phạm vi tài khoản giáo viên (công cụ nội bộ) · 1 mục không phải tính năng sản phẩm (mô hình chi phí)

1Phát hiện trước tiên: bảng nói "đã lên" nhưng tài liệu PRD nói "bản nháp"

Cả 12 mục của Sprint 112 đều được đánh dấu status='shipped' trên bảng roadmap. Nhưng khi mở đúng 12 trang PRD mà bảng liên kết tới, 11 trên 12 trang tự ghi trạng thái là "Bản nháp — chờ duyệt" hoặc "Đề xuất — chờ duyệt" — nghĩa là chính tài liệu đặc tả cho mục đó còn chưa được duyệt. Chỉ một PRD duy nhất (email báo cáo thời gian học hằng ngày) tự ghi "Đã có bản chạy thử trên dữ liệu thật".

Đây là chiều ngược lại của phát hiện ở Sprint 111 (khi đó bảng nói "ý tưởng" trong lúc sản phẩm đã chạy thật). Ở đây bảng nói "đã lên" trong lúc một phần lớn tài liệu mô tả còn chưa được duyệt. Cả hai trường hợp cùng chỉ ra một điều: trường trạng thái trên bảng không phải là nguồn đáng tin để biết một tính năng đã hoàn thành hay chưa, dù nó nói "chưa làm" hay nói "đã xong". Kết luận trong tài liệu này vì vậy dựa trên việc thử trực tiếp trên sản phẩm, không dựa trên trạng thái của bảng hay của PRD.

Điều thú vị là kết quả thử trên sản phẩm không khớp hoàn toàn với trạng thái "bản nháp" của PRD: năm trong số mười một PRD "còn nháp" đó lại có tính năng đang chạy thật một phần trên production (mục 2 đến 5, mục 7, mục 9). Trạng thái ghi trên PRD phản ánh việc tài liệu đặc tả có được duyệt hay không, không phản ánh việc đội phát triển đã âm thầm bắt tay vào làm hay chưa.

Rủi roKhi cả hai nguồn — bảng roadmap và tài liệu PRD — đều không khớp với những gì đang chạy thật, không ai trong đội có thể trả lời nhanh câu hỏi "tính năng X đã lên chưa" mà không tự tay vào sản phẩm kiểm tra. Rủi ro lớn hơn là một tính năng đã âm thầm lên một phần (như mục 2, 3, 4, 5, 7, 9 dưới đây) nhưng vì PRD còn "nháp" nên không ai theo dõi tiếp phần còn thiếu.

2Kết quả từng mục

#Mục trong Sprint 112Trạng thái PRDKết luậnBằng chứng
1Gợi ý bài tiếp theo theo trình độ học sinh (cá nhân hoá học tập, giai đoạn 1)Bản nhápChưa thấyKhông có chuỗi giao diện nào cho gợi ý sau khi làm xong một bài. Chính mục này trên bảng cũng ghi "cần bàn luận làm sao để triển khai".
2Chuyển giáo viên giữa các chi nhánhBản nhápCó hạ tầngGói ngôn ngữ có đủ bộ chuỗi cho luồng này: "Chuyển trường", "Thêm vào chi nhánh", cùng quy tắc khoá "Không thể chuyển chủ trường của trường hiện tại sang chi nhánh khác". Tài khoản nghiệm thu chỉ có một chi nhánh nên không bấm thử được trọn luồng.
3Bingo AI Co-Teacher — giao bài tự động theo năng lực, giai đoạn 2Đề xuấtMột phầnTrang /bingo-ai-co-teacher với bản đồ kỹ năng và hồ sơ năng lực từng học sinh đã chạy thật. Nhưng nút "Giao bài" trên hồ sơ đó mở đúng wizard giao bài thủ công có sẵn, không thấy Bingo AI tự chọn bài theo kỹ năng yếu nhất.
4Đưa nội dung giáo viên tạo bằng AI (ChatGPT/Claude) vào kho FLYER qua MCPBản nhápĐã lênMàn hình chọn loại câu hỏi có hẳn một tab "Tạo qua Claude/ChatGPT" dán nhãn "Mới". Mở ra là màn hình kết nối đầy đủ cho cả ChatGPT lẫn Claude, kèm địa chỉ MCP thật: mcp.teado.ai/mcp.
5Các dạng câu hỏi mới: sắp xếp câu, viết và tô chữ, video tương tác, thẻ ghi nhớ, gõ và kéo thả chữ cái, các dạng IELTS trên máyBản nhápMột phầnBa dạng mới xác nhận có mặt trong bộ chọn: Tracing letters (viết và tô chữ), Flash Cards (thẻ ghi nhớ), Interactive video (video tương tác). Không thấy dạng riêng cho "gõ và kéo thả chữ cái" hay các dạng IELTS trên máy.
6Kiểm soát chất lượng nội dung trước khi đăng (AI rà lỗi chính tả cho CTV, trích xuất tài liệu)Bản nhápKhông kiểm đượcĐây là công cụ cho CTV/Admin đăng nội dung, nằm ngoài phạm vi mà tài khoản giáo viên nghiệm thu có quyền truy cập.
7Email báo cáo thời gian học hằng ngày, gửi 7:00 sángĐã chạy thử trên dữ liệu thậtMột phầnTrang báo cáo thật tồn tại tại /report/daily-study, nhưng tự báo: "Trường của bạn chưa bật báo cáo hằng ngày… Vui lòng liên hệ FLYER để bật tính năng này". Tính năng có thật nhưng đang bật thủ công theo từng trường, chưa tự phục vụ.
8Kế hoạch chi phí khi chấm miễn phí Writing/SpeakingBản nhápKhông phải tính năng sản phẩmĐây là một mô hình chi phí nội bộ, không phải màn hình trên teacher.flyer.us. PRD dẫn tới data.flyer.vn/ai-cost — địa chỉ này trả về mã 401 (cần đăng nhập), tức là đã tồn tại chứ không phải 404, nhưng cần tài khoản nội bộ để xem nội dung.
9Tự động mời đánh giá mức độ hài lòng theo thời điểm, dùng lại modal góp ýBản nhápMột phầnToàn bộ cấu phần khảo sát đã có trong gói ngôn ngữ: thang 5 mức từ "Rất không hài lòng" đến "Rất hài lòng", theo tên tính năng cụ thể, cùng ô góp ý và lời cảm ơn. Không xác nhận được cơ chế tự động bật theo thời điểm vì không có đủ thời gian sử dụng tích luỹ trong phiên nghiệm thu.
10Hiển thị và thông báo đá tri thức trong app học sinhBản nhápChưa thấy ở màn hình chínhThanh trạng thái trên cùng của trang chủ học sinh chỉ có Coin và Kim cương; không có ô đá tri thức. Đá tri thức vẫn chỉ xuất hiện ở Cửa hàng và ở hồ sơ xem nhanh trong Ranking — hai nơi vốn đã có từ trước Sprint 112.
11Trang giới thiệu cho teacher.flyer.us khi chưa đăng nhập, theo hướng teado.aiBản nhápKhông đúng như mô tảĐịa chỉ gốc khi chưa đăng nhập vẫn dẫn tới một trang giới thiệu, nhưng là bản cũ bằng tiếng Anh, phong cách xanh lá khác hẳn Cloud Theme mà PRD yêu cầu — không phải bản dựng mới theo hướng teado.ai.
12Mẫu game cho file PowerPoint trình chiếuBản nhápChưa thấyChỉ có bộ lọc loại tệp "PowerPoint" trong thư viện tài liệu đã tải lên — một tính năng lọc file có từ trước, không phải trình tạo game từ PowerPoint.

3Bằng chứng theo từng mục

Phần này đi lần lượt cả 12 mục theo đúng thứ tự trên bảng Sprint 112, nêu rõ đã thử gì, thấy gì, và trích PRD ở chỗ cần đối chiếu.

3.1 Mục 1 — Gợi ý bài tiếp theo theo trình độ học sinh

PRD mô tả: "Sau khi làm xong một bài, học sinh được gợi ý nên làm bài nào tiếp theo, thay vì phải tự tìm trong kho." Rà gói ngôn ngữ của exam.flyer.us cho các chuỗi liên quan đến gợi ý sau khi hoàn thành bài: không thấy khoá nào như suggested_exercise hay next_exercise. Hai chuỗi gần nhất tìm được — "next_lesson":"Bài tiếp theo" và "next_challenge_2":"Làm bài tiếp theo" — là nút "tiếp tục" trong một chuỗi bài đã sắp sẵn theo khoá học, không phải gợi ý theo trình độ. Khớp với chính ghi chú của mục này trên bảng: "Cần bàn luận làm sao để triển khai được mục này."

3.2 Mục 2 — Chuyển giáo viên giữa các chi nhánh

Hộp thoại mời giáo viên nhắc tới trường/chi nhánh hiện tại

Hộp thoại "Mời giáo viên" tại /vi/teacher/list: dòng mô tả ghi "mời vào trường/chi nhánh hiện tại" — xác nhận khái niệm nhiều chi nhánh đã tồn tại trong hệ thống tài khoản.

Gói ngôn ngữ có nguyên một cụm chuỗi cho đúng luồng PRD mô tả, gồm cả tên nút lẫn quy tắc khoá:

KhoáNội dung
bulk.add_to_branchThêm vào chi nhánh
bulk.transfer_schoolChuyển trường
bulk.disabled_ownerKhông thể chuyển chủ trường của trường hiện tại sang chi nhánh khác.
add_account.title_bulk_addThêm nhiều tài khoản vào chi nhánh

Đây là mức bằng chứng gián tiếp: chuỗi giao diện và quy tắc nghiệp vụ (không cho chuyển chủ trường) đọc rất cụ thể như thể đã được lập trình thật, nhưng tài khoản nghiệm thu chỉ quản lý một chi nhánh nên nút "Chuyển trường" không có gì để bấm thử.

3.3 Mục 3 — Bingo AI Co-Teacher, giao bài tự động theo năng lực

Bản đồ kỹ năng học sinh trong Bingo AI Co-Teacher

Trang /bingo-ai-co-teacher: bảng năng lực theo bốn kỹ năng (Nghe, Đọc, Viết, Nói) cho từng học sinh trong lớp, đúng như PRD mô tả "sổ năng lực học sinh cập nhật từ mỗi bài đã chấm". Các ô hiện đang trống vì lớp nghiệm thu chưa có bài được chấm trong kỳ 27/08 – 25/09/2026.

Hồ sơ năng lực một học sinh với nút Giao bài

Hồ sơ chi tiết một học sinh (/bingo-ai-co-teacher/1811012), có nút "Giao bài" ngay trên đầu.

Wizard giao bài thủ công mở ra sau khi bấm Giao bài

Bấm "Giao bài" mở đúng wizard giao bài thủ công ba bước đã có từ trước (chọn bài → chọn học sinh → đặt thời gian) — không có bước nào cho thấy Bingo AI tự chọn bài theo kỹ năng yếu nhất của học sinh đó, dù PRD mô tả đây là phần thứ hai trong ba việc mà tính năng gộp lại ("Bingo AI tự chọn bài phù hợp cho từng học sinh"). Phần thứ nhất (sổ năng lực) và một phần hạ tầng giao bài đã có; phần "tự chọn theo AI" thì chưa thấy.

3.4 Mục 4 — Nhập nội dung AI qua MCP (ChatGPT/Claude)

Màn hình kết nối MCP với Claude và ChatGPT

Toàn bộ màn hình "Tạo đề FLYER ngay trong khung chat": hai thẻ kết nối cho ChatGPT (OpenAI) và Claude (Anthropic), cùng hướng dẫn từng bước — Claude một chạm, ChatGPT ba bước qua Developer mode với địa chỉ máy chủ MCP thật https://mcp.teado.ai/mcp và câu lệnh mẫu "Sử dụng FLYER, tạo cho tôi 1 đề gồm 10 câu hỏi cấp độ B1 về động vật." Đây là mục duy nhất trong 12 mục xác nhận lên trọn vẹn — cả giao diện lẫn hướng dẫn kỹ thuật đều khớp với mô tả PRD.

3.5 Mục 5 — Các dạng câu hỏi mới

Màn hình chọn loại câu hỏi với các dạng mới

Trong lưới các dạng bài ở màn hình "Chọn loại câu hỏi", ba dạng khớp với yêu cầu của PRD đã có mặt: Tracing letters (viết và tô chữ), Flash Cards (thẻ ghi nhớ), Interactive video (video tương tác). Không thấy dạng riêng cho "sắp xếp câu" ngoài Scrambled Sentence/Word Ordering vốn đã có từ trước, không thấy "gõ và kéo thả chữ cái" tách riêng khỏi Drag & Drop hiện có, và không thấy dạng nào ghi rõ là "IELTS trên máy".

3.6 Mục 6 — Kiểm soát chất lượng nội dung trước khi đăng

PRD mô tả hai ý tưởng: một vòng AI rà lỗi chính tả khi CTV đăng nội dung lên trang quản trị, và một công cụ dán file (docx, pdf) để AI đề xuất import. Cả hai đều thuộc quy trình nội bộ cho CTV/Admin, không nằm trong bất kỳ menu nào của teacher.flyer.us. Tài khoản nghiệm thu là tài khoản giáo viên, không có đường vào các công cụ quản trị nội dung nên không kiểm chứng được bằng thao tác thật. Ghi nhận riêng: màn hình tạo câu hỏi ở mục 5 có một ô tên "Trích xuất tài liệu" cạnh "Tạo AI Teacher" — có thể liên quan tới ý tưởng "dán file, AI đề xuất" của PRD này, nhưng thuộc luồng tạo đề của giáo viên chứ không phải luồng duyệt nội dung của CTV/Admin mà PRD nhắm tới, nên không tính là bằng chứng cho mục 6.

3.7 Mục 7 — Email báo cáo thời gian học hằng ngày

Trang báo cáo thời gian học hằng ngày báo chưa được bật

Trang báo cáo tồn tại thật tại /report/daily-study và hiển thị đúng như PRD mô tả, nhưng khoá theo từng trường: "Trường của bạn chưa bật báo cáo hằng ngày… Vui lòng liên hệ FLYER để bật tính năng này cho trường của bạn." Khớp với ghi chú "đã chạy thử trên dữ liệu thật" của chính PRD — tức đã thử ở một số trường được chọn thủ công, chưa mở đại trà bằng một nút tự bật trong Cài đặt trường học.

3.8 Mục 8 — Kế hoạch chi phí khi chấm miễn phí Writing/Speaking

data.flyer.vn/ai-cost trả về 401

PRD của mục này không mô tả một màn hình trên teacher.flyer.us mà dẫn thẳng tới một mô hình chi phí đã dựng riêng tại data.flyer.vn/ai-cost. Gọi trực tiếp địa chỉ này trả về mã 401 (yêu cầu đăng nhập), không phải 404 — nghĩa là trang tồn tại thật trên hạ tầng nội bộ, chỉ chưa có quyền xem nội dung bên trong bằng tài khoản giáo viên.

3.9 Mục 9 — Tự động mời đánh giá mức độ hài lòng

PRD nói tính năng "dùng lại hộp thoại góp ý đang có, kích hoạt theo thời điểm". Rà gói ngôn ngữ tìm thấy một cấu phần khảo sát đầy đủ, gắn theo tên tính năng cụ thể qua biến {{featureName}}:

KhoáNội dung
titleBạn có hài lòng với trải nghiệm sử dụng {{featureName}} không?
very_dissatisfied → very_satisfiedRất không hài lòng · Không hài lòng · Bình thường · Hài lòng · Rất hài lòng
placeholderChia sẻ cảm nhận hoặc góp ý của bạn tại đây...
thank_youCảm ơn…

Cấu phần này khác với nút "Góp ý" nổi ở góc màn hình (một widget phản hồi chung, không đổi theo tính năng và không có thang điểm) — nên không dùng nút đó để mở thử được. Việc khảo sát 5 mức có tồn tại trong bundle là bằng chứng chắc chắn phần giao diện đã được dựng; việc nó có tự bật đúng theo thời điểm sử dụng như PRD mô tả hay không thì không xác nhận được trong một phiên nghiệm thu ngắn.

3.10 Mục 10 — Hiển thị đá tri thức trong app học sinh

Thanh trạng thái trang chủ học sinh chỉ có Coin và Kim cương

Thanh trên cùng của trang chủ học sinh: chỉ có Coin và Kim cương, không có ô đá tri thức riêng. Icon hình khiên đỏ bên dưới ảnh đại diện, dễ nhầm là đá tri thức, thực chất là chỉ số ngày học liên tục (tên tệp ảnh diamond-streak).

Đá tri thức vẫn chỉ xuất hiện ở hai nơi: trang Cửa hàng (exam.flyer.us/store) và hồ sơ xem nhanh trong Ranking — cả hai đều đã ghi nhận trong lần nghiệm thu Sprint 111 (03/09/2026), tức có từ trước Sprint 112, không phải phần mới.

3.11 Mục 11 — Trang giới thiệu teacher.flyer.us khi chưa đăng nhập

Trang giới thiệu tiếng Anh hiện tại của teacher.flyer.us

Địa chỉ gốc khi chưa đăng nhập (teacher.flyer.us/, tự chuyển sang /en/landing) dẫn tới trang này — toàn bộ bằng tiếng Anh, thương hiệu "AI Teaching Assistant", phong cách xanh lá, khác hẳn tông Cloud Theme tím mà PRD của mục 11 yêu cầu ("dựng theo cấu trúc đã dùng hiệu quả ở teado.ai"). Đây là trang đã có từ trước, không phải bản dựng mới trong Sprint 112 — đúng như PRD tự nhận "Trạng thái: Bản nháp — chờ duyệt", "Bước 1 — chốt nội dung và bố cục" còn chưa bắt đầu.

3.12 Mục 12 — Mẫu game cho file PowerPoint trình chiếu

Rà gói ngôn ngữ cho các chuỗi liên quan: không có khoá nào chứa "game" cạnh "PowerPoint" hay "slide". Chuỗi duy nhất tìm được — filter_type_powerpoint: "PowerPoint" — chỉ là một bộ lọc loại tệp trong thư viện tài liệu đã tải lên (cùng nhóm với Pdf, Video, Hình ảnh), phục vụ việc tìm lại file đã upload, không phải trình chuyển PowerPoint thành game có thể sửa nội dung mà PRD mô tả.

4Phụ lục — trạng thái PRD của cả 12 mục

Tất cả 12 PRD đều do AI soạn ở bước lập kế hoạch (không phải do đội phát triển viết), cùng cập nhật trong khoảng 02–05/09/2026, tức trước ngày phát hành thực tế của sprint (21/09/2026) từ hai đến ba tuần.

#Slug PRDTrạng thái PRDƯu tiênCập nhật
1goi-y-bai-tiep-theoBản nháp — chờ duyệt3 — Có thì tốt05/09/2026
2chuyen-gv-giua-chi-nhanhBản nháp — chờ duyệt2 — Trung bình05/09/2026
3bingo-auto-assignĐề xuất — chờ duyệt—03/09/2026
4import-ai-contentBản nháp — chờ duyệt1 — Cao nhất05/09/2026
5dang-cau-hoi-moiBản nháp — chờ duyệt1 — Cao nhất05/09/2026
6academic-content-qaBản nháp — chờ duyệt1 — Cao nhất05/09/2026
7dailyreportprdĐã có bản chạy thử trên dữ liệu thật—02/09/2026
8chi-phi-cham-mien-phiBản nháp — chờ duyệt1 — Cao nhất05/09/2026
9modal-danh-gia-hai-longBản nháp — chờ duyệt3 — Có thì tốt05/09/2026
10da-tri-thuc-app-hoc-sinhBản nháp — chờ duyệt2 — Trung bình05/09/2026
11landing-page-teacherBản nháp — chờ duyệt2 — Trung bình05/09/2026
12game-template-powerpointBản nháp — chờ duyệt1 — Cao nhất05/09/2026

Đáng chú ý: bốn trong năm mục ghi ưu tiên "1 — Cao nhất" (mục 4, 5, 6, 8) đều còn ở trạng thái bản nháp chưa duyệt, trong đó mục 4 và 5 lại là hai mục có bằng chứng chạy thật rõ nhất trên sản phẩm. Ưu tiên ghi trên PRD và tiến độ thật trên production không đi cùng nhau.

5Giới hạn của lần nghiệm thu này


Nguồn: bảng Sprint 112 và 12 trang PRD liên quan trong cơ sở dữ liệu flyer-roadmap-v2 · lượt chạy tự động ngày 25/09/2026 trên tài khoản nghiệm thu, lớp "Lớp Nghiệm Thu ĐD" · gói ngôn ngữ của teacher.flyer.us và exam.flyer.us · phản hồi HTTP trực tiếp từ data.flyer.vn · Tài liệu liên quan: Bảng Sprint 112 · Nghiệm thu Sprint 111 · Danh mục PRD · Roadmap