AI-CLO PTITHCM V12.0 — Đánh giá thống nhất

Cập nhật gần nhất: 05/09/2026.

1. Kiến trúc trang Đánh giá đã chốt

Trang Đánh giá chỉ còn 2 loại người dùng nhìn thấy:

  1. Bài kiểm tra
  2. Bài thi cuối kỳ

Các loại legacy chapter_test, clo_assessment, review_exam vẫn được đọc tương thích nhưng trên giao diện đều được xem là Bài kiểm tra. Không xóa dữ liệu cũ.

Toolbar chuẩn

2. Wizard 4 bước dùng chung

Cả Bài kiểm tra và Bài thi cuối kỳ dùng cùng luồng:

  1. Thông tin
  2. Phạm vi và cách gom câu
  3. Ma trận câu hỏi
  4. Xác nhận

Bước 2 — phạm vi

Giữ đúng 2 kiểu ma trận:

Bước 3 — ma trận

3. Bài kiểm tra

Cửa sổ “Bài kiểm tra · Thông tin”

Đã chuẩn hóa theo app-window:

4. Bài thi cuối kỳ

5. Rút câu và đổi câu

Sau khi rút câu, màn hình builder không được tự kéo về đầu khi người dùng:

Cơ chế scroll-stability ghi nhớ vị trí trước thao tác và phục hồi vị trí sau render, để người dùng ở nguyên tại câu đang xử lý.

6. Ổn định hiệu năng trang Đánh giá

Đã loại bỏ kiến trúc MutationObserver chạy rộng liên tục từng gây treo trang Đánh giá.

Nguyên tắc hiện tại:

Các file chính liên quan:

7. Trang chi tiết và trang con Đánh giá

8. Kết quả CLO

js/results/grade-scope-v119.js chỉ lọc tại trang Kết quả CLO.

SQL cần chạy một lần nếu chưa chạy trước đó: supabase/migrations/assessment-v12.0-migration.sql.

9. Header các trang công khai

Ngày 04–05/09/2026 đã xử lý hiện tượng header “chớp/nhảy” trên Trang chủ, Hướng dẫn và Chấm thi CLO.

Nguyên nhân cũ:

Hướng xử lý mới:

Áp dụng cho:

10. Công cụ Chấm thi CLO

Đã sửa lỗi cấu trúc HTML tại cham-thi-clo/index.html do thiếu </header>, khiến toàn bộ phần nội dung bị trình duyệt hiểu là nằm trong header.

Sau sửa:

11. File chính V12

12. Backup đáng nhớ

13. Việc cần kiểm thử tiếp