{
  "jobs": [
    {
      "id": "AI-YK01",
      "title": "Kiểm kê toàn bộ nguồn và sổ định vị",
      "parent_ids": [
        "R020",
        "SRC-01",
        "SRC-08"
      ],
      "mode": "READY",
      "status": "AI_CHECKED",
      "inputs": [
        "knowledge-base/sources",
        "tools/LAP_HO_SO_AI_Y_KHOA.py",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/KIEM_KE_TOAN_KHO.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/SO_TRANG_MARKDOWN.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/CHI_MUC_MUC_VA_DONG.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/KIEM_KE_OCR_CACHE.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/THONG_KE.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK01_KIEM_KE_TOAN_BO_NGUON_VA_SO_DINH_VI.md",
      "depends_on": [],
      "steps": [
        "Duyệt đệ quy mọi file trong knowledge-base/sources, gồm .progress; tính SHA-256 và kích thước.",
        "Tách mốc trang in được Markdown ghi với chỉ số page_num trong cache. Không tự ghép thành trang vật lý.",
        "Đếm đoạn OCR và confidence, mốc trang, tiêu đề, bảng/hình; liệt kê file thiếu bản PDF."
      ],
      "acceptance": [
        "Mọi file nguồn có một hàng và SHA-256.",
        "Mốc trang gắn dòng và cờ chưa đối chiếu gốc."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/KIEM_KE_TOAN_KHO.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/SO_TRANG_MARKDOWN.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/CHI_MUC_MUC_VA_DONG.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/KIEM_KE_OCR_CACHE.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/THONG_KE.json"
      ],
      "planned_use_dates": [
        "2026-10-20",
        "2026-10-21",
        "2026-10-24",
        "2026-10-26",
        "2026-12-18",
        "2026-12-19"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK02",
      "title": "Đối soát mọi KC FAQ EC và khoảng trống chủ đề",
      "parent_ids": [
        "R020",
        "R031",
        "SRC-02"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/knowledge-cards",
        "knowledge-base/faq",
        "knowledge-base/evidence-cards",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/KIEM_TRA_MOI_KC_FAQ_EC.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KET_QUA_VA_VAN_DE_CAN_REVIEW.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK02_DOI_SOAT_MOI_KC_FAQ_EC_VA_KHOANG_TRONG_CHU_DE.md",
      "depends_on": [
        "AI-YK01"
      ],
      "steps": [
        "Quét mọi ID trong ba thư mục; giữ từng occurrence để phát hiện ID trùng.",
        "Đối chiếu nguồn, dòng, số và cảnh báo; đọc riêng các lỗi cứng khớp, thời lượng vận động và nhãn người viết nguồn.",
        "So phạm vi tám chủ đề đề xuất với hiện vật có sẵn; đánh dấu phần mới chưa theo G0."
      ],
      "acceptance": [
        "Số lượng thực được tính từ ID, không lấy tiêu đề.",
        "Có vị trí cho từng phát hiện; không tự phân xử khác biệt y khoa."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/KIEM_TRA_MOI_KC_FAQ_EC.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KET_QUA_VA_VAN_DE_CAN_REVIEW.md"
      ],
      "planned_use_dates": [
        "2026-10-20",
        "2026-10-21",
        "2026-10-27",
        "2026-10-28",
        "2026-10-29",
        "2027-01-20",
        "2027-01-21",
        "2027-01-22"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK03",
      "title": "Tìm nguồn chính thức và rà phiên bản",
      "parent_ids": [
        "SRC-03",
        "SRC-04",
        "SRC-06",
        "C-SRC02"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "docs/research/plans/KE_HOACH_CON_LAI/KE_HOACH_NGUON_Y_KHOA_MARKDOWN.md",
        "knowledge-base/evidence-matrix/source_registry.csv",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/NGHIEN_CUU_NGUON_CHINH_THUC.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK03_TIM_NGUON_CHINH_THUC_VA_RA_PHIEN_BAN.md",
      "depends_on": [],
      "steps": [
        "Tìm CDC TUG, WHO ICOPE, ACR OA, NICE OA và USPSTF bằng truy vấn đã ghi.",
        "Mở trang cơ quan ban hành, kiểm ngày, loại tài liệu, bản thay thế và vị trí nội dung.",
        "Khử trùng phiên bản, ghi nguồn được xem; không bịa tổng số kết quả hoặc toàn văn đã đọc.",
        "Lưu tóm tắt ngắn, hạn chế sao chép; tách khác biệt ACR/NICE để CVYK xem."
      ],
      "acceptance": [
        "Nhật ký có truy vấn nguyên văn, ngày, kênh, bộ lọc và giới hạn.",
        "Mỗi ứng viên có URL chính thức, phiên bản và lý do nhận."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/NGHIEN_CUU_NGUON_CHINH_THUC.md"
      ],
      "planned_use_dates": [
        "2026-10-31",
        "2026-11-02",
        "2026-11-03",
        "2026-11-09",
        "2026-11-10",
        "2026-11-12",
        "2026-11-14",
        "2027-02-16",
        "2027-02-17",
        "2027-02-18"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK04",
      "title": "Chuẩn bị hồ sơ quyền theo nguồn và thao tác",
      "parent_ids": [
        "R022",
        "SRC-05",
        "C02",
        "C-SRC02"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/evidence-matrix/source_registry.csv",
        "docs/legal/W1_D02_RightsRegister.csv",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/NGHIEN_CUU_NGUON_CHINH_THUC.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/DO_THI_NGUON_NOI_DUNG.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/BANG_QUYEN_THEO_THAO_TAC.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK04_CHUAN_BI_HO_SO_QUYEN_THEO_NGUON_VA_THAO_TAC.md",
      "depends_on": [
        "AI-YK03"
      ],
      "steps": [
        "Nối toàn bộ registry với sổ quyền theo source_id; giữ nguyên trạng thái cũ.",
        "Tách đọc, tải, OCR, lưu bản đầy đủ, gửi AI và phân phối; nêu bằng chứng thiếu.",
        "Xác định quyền dịch vụ cần chủ thể, tuổi và mục đích; chỉ lập câu hỏi khi chưa có dịch vụ được chọn."
      ],
      "acceptance": [
        "Không dùng URL công khai hoặc allow_ingest như quyết định quyền.",
        "Các nguồn mới có câu hỏi quyền riêng; không tự ký Q03."
      ],
      "reviewer_roles": [
        "NCS1",
        "LEGAL"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/NGHIEN_CUU_NGUON_CHINH_THUC.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/DO_THI_NGUON_NOI_DUNG.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/BANG_QUYEN_THEO_THAO_TAC.json"
      ],
      "planned_use_dates": [
        "2026-11-12",
        "2026-11-17",
        "2026-11-19",
        "2026-11-24",
        "2026-11-26",
        "2027-02-16",
        "2027-02-17",
        "2027-02-18",
        "2027-02-23"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK05",
      "title": "Nối đầy đủ CYK với nguồn và khoảng trống",
      "parent_ids": [
        "R021",
        "C01",
        "C05",
        "C-SRC01",
        "R031"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/PHAC_THAO_QUY_TRINH_CAMERA.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK05_NOI_DAY_DU_CYK_VOI_NGUON_VA_KHOANG_TRONG.md",
      "depends_on": [
        "AI-YK02",
        "AI-YK03"
      ],
      "steps": [
        "Lập từng hàng CYK-01–13; tách nguồn chung và nguồn mô tả phép đo.",
        "Đối chiếu TUG, 5STS, tốc độ đi; không gán quy trình TUG cho chương 35 khi chưa tìm thấy.",
        "Giữ CYK ngoài phạm vi; nối nguồn, thẻ, phép đo, mẫu câu và quyền còn thiếu."
      ],
      "acceptance": [
        "Đủ 13 hàng CYK.",
        "Đề xuất TUG có lý do và phần chưa biết; không tự chọn thay NCS."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/PHAC_THAO_QUY_TRINH_CAMERA.md"
      ],
      "planned_use_dates": [
        "2026-10-17",
        "2026-10-19",
        "2027-01-20",
        "2027-01-21",
        "2027-01-22",
        "2027-01-23",
        "2027-01-25",
        "2027-01-26",
        "2027-01-27",
        "2027-01-28",
        "2027-01-29",
        "2027-01-30",
        "2027-02-15",
        "2027-04-01",
        "2027-04-02"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK06",
      "title": "Soạn quy trình và phương pháp camera để người phụ trách sửa",
      "parent_ids": [
        "C03",
        "C04",
        "C06",
        "C07",
        "C26"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "docs/research/plans/DAC_TA_CAMERA.md",
        "https://www.cdc.gov/steadi/media/pdfs/steadi-assessment-tug-508.pdf",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/PHAC_THAO_QUY_TRINH_CAMERA.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK06_SOAN_QUY_TRINH_VA_PHUONG_PHAP_CAMERA_DE_NGUOI_PHU_TRACH_SUA.md",
      "depends_on": [
        "AI-YK05"
      ],
      "steps": [
        "Soạn đầu/cuối, giây, quãng đường và giám sát theo CDC; giữ khác biệt 3 mét/10 feet.",
        "Đề xuất cách so thời gian với bấm giờ, thống kê thất bại và dữ liệu thiếu.",
        "Viết tình huống không đo được, dừng và mất quyền; để ngưỡng/cỡ mẫu là quyết định chưa chốt."
      ],
      "acceptance": [
        "Mọi thao tác có nguồn hoặc nhãn đề xuất.",
        "Không mở thiết bị, không tự khóa sai số hoặc cỡ mẫu."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/PHAC_THAO_QUY_TRINH_CAMERA.md"
      ],
      "planned_use_dates": [
        "2027-03-13",
        "2027-03-16",
        "2027-03-18",
        "2027-03-22",
        "2027-03-23",
        "2027-03-24",
        "2027-03-25",
        "2027-03-26",
        "2027-03-27",
        "2027-04-03",
        "2027-04-06",
        "2027-04-08",
        "2027-04-10",
        "2027-04-14",
        "2027-05-21",
        "2027-05-22"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK07",
      "title": "Công cụ kiểm kê an toàn và kiểm toàn vẹn",
      "parent_ids": [
        "SRC-TOOLS1",
        "SRC-TOOLS2",
        "SRC-07",
        "SRC-10"
      ],
      "mode": "READY",
      "status": "AI_CHECKED",
      "inputs": [
        "tools/LAP_HO_SO_AI_Y_KHOA.py",
        "knowledge-base/sources/utilities",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/KIEM_TRA_TOAN_VEN.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/THU_TRUY_NGUOC_VA_THU_HOI_TONG_HOP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KET_QUA_VA_VAN_DE_CAN_REVIEW.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK07_CONG_CU_KIEM_KE_AN_TOAN_VA_KIEM_TOAN_VEN.md",
      "depends_on": [
        "AI-YK01"
      ],
      "steps": [
        "Tạo công cụ dùng Path theo vị trí script, chỉ đọc nguồn và tạo đầu ra mới trong Research.",
        "Kiểm mã script OCR cũ; ghi nơi thay số và ghi đè, không chạy script cũ.",
        "Thử đầu ra trùng bị từ chối; so hash mọi file nguồn trước/sau."
      ],
      "acceptance": [
        "Không ghi source hoặc gửi mạng trong công cụ.",
        "Nêu đây là công cụ chỉ mục, chưa là OCR PDF."
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/KIEM_TRA_TOAN_VEN.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/THU_TRUY_NGUOC_VA_THU_HOI_TONG_HOP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KET_QUA_VA_VAN_DE_CAN_REVIEW.md"
      ],
      "planned_use_dates": [
        "2026-12-09",
        "2026-12-10",
        "2026-12-11",
        "2026-12-12",
        "2026-12-15",
        "2026-12-17",
        "2026-12-23"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK08",
      "title": "Truy ngược nguồn và mô phỏng thu hồi",
      "parent_ids": [
        "SRC-M02",
        "SRC-M03"
      ],
      "mode": "READY",
      "status": "AI_CHECKED",
      "inputs": [
        "tools/LAP_HO_SO_AI_Y_KHOA.py",
        "knowledge-base/evidence-matrix/source_registry.csv",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/DO_THI_NGUON_NOI_DUNG.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/THU_TRUY_NGUOC_VA_THU_HOI_TONG_HOP.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK08_TRUY_NGUOC_NGUON_VA_MO_PHONG_THU_HOI.md",
      "depends_on": [
        "AI-YK02",
        "AI-YK07"
      ],
      "steps": [
        "Tạo phụ thuộc nguồn–KC/FAQ/EC từ tham chiếu thật.",
        "Thử đồ thị tổng hợp có cache và chu trình; kiểm duyệt hết các nút bị ảnh hưởng.",
        "Thử quyền bị thu hồi, thiếu quyền, đủ quyền và không phụ thuộc; không phục hồi bản mất quyền."
      ],
      "acceptance": [
        "Có kết quả từng ca cùng dữ liệu đầu vào.",
        "Không gọi kết quả mô phỏng là tính năng backend hoặc thu hồi thật."
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/DO_THI_NGUON_NOI_DUNG.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/THU_TRUY_NGUOC_VA_THU_HOI_TONG_HOP.json"
      ],
      "planned_use_dates": [
        "2027-07-23",
        "2027-07-24",
        "2027-08-28",
        "2027-08-31"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK09",
      "title": "Nhịp theo dõi và số liệu hiệu chỉnh nguồn",
      "parent_ids": [
        "SRC-M01",
        "SRC-11",
        "R121",
        "R122"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KIEM_KE/THONG_KE.json",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/THEO_DOI_CAP_NHAT_VA_THU_HOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK09_NHIP_THEO_DOI_VA_SO_LIEU_HIEU_CHINH_NGUON.md",
      "depends_on": [
        "AI-YK01",
        "AI-YK08"
      ],
      "steps": [
        "Đề xuất rà trước phát hành, định kỳ và khi có đính chính hoặc quyền hết hạn.",
        "Gắn người nhận theo vai trò; không xác nhận họ nhận việc.",
        "Bàn giao số file/trang/dòng/khối OCR; chỉ ra chưa có giờ công để hiệu chỉnh dự toán."
      ],
      "acceptance": [
        "Không tạo lịch tự động hoặc giờ công giả.",
        "Phân biệt số đo máy với công người."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/THEO_DOI_CAP_NHAT_VA_THU_HOI.md"
      ],
      "planned_use_dates": [
        "2026-12-26",
        "2027-01-23",
        "2027-01-29",
        "2027-07-22"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK10",
      "title": "Bản kê nghiên cứu và gói đưa NCS review",
      "parent_ids": [
        "R032",
        "SRC-12",
        "GA",
        "Q03"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\BAN_KE_8_LO_NGHIEN_CUU.json",
        "knowledge-base/schemas/knowledge_item_schema.yaml",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/BAN_KE_8_LO_NGHIEN_CUU.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KET_QUA_VA_VAN_DE_CAN_REVIEW.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK10_BAN_KE_NGHIEN_CUU_VA_GOI_DUA_NCS_REVIEW.md",
      "depends_on": [
        "AI-YK01",
        "AI-YK02",
        "AI-YK04",
        "AI-YK19",
        "AI-YK20",
        "AI-YK21",
        "AI-YK22",
        "AI-YK23",
        "AI-YK24",
        "AI-YK25",
        "AI-YK26"
      ],
      "steps": [
        "Gộp tám lô theo nguồn và SHA-256; ghi rõ danh sách nguồn chọn và giới hạn.",
        "Phân biệt bản kê nghiên cứu với bản kê được phát hành; release_authorized phải false.",
        "Nối nguồn, quyền, lỗi, bản nháp và điều kiện nhận review; không đóng GA/Q03."
      ],
      "acceptance": [
        "Có 40 thẻ và 40 FAQ DRAFT kèm định vị.",
        "Không nhận canonical_schema_compliant hoặc clinical approval."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/BAN_KE_8_LO_NGHIEN_CUU.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/KET_QUA_VA_VAN_DE_CAN_REVIEW.md"
      ],
      "planned_use_dates": [
        "2026-12-08",
        "2027-07-20",
        "2027-07-21",
        "2027-07-28",
        "2027-07-31"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK11",
      "title": "Tái dùng đầy đủ chương nguồn lô 01: Thoái hóa khớp",
      "parent_ids": [
        "MK01A",
        "MK01B",
        "MK01C",
        "MK01D",
        "K01A"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/sources/textbooks/dhyhn/tap2/21-thoai-hoa-khop.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_01/NGUON_TAI_SU_DUNG.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_01/BAN_KE_NGUON.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK11_TAI_DUNG_DAY_DU_CHUONG_NGUON_LO_01_THOAI_HOA_KHOP.md",
      "depends_on": [
        "AI-YK01",
        "AI-YK07"
      ],
      "steps": [
        "Đọc toàn bộ knowledge-base/sources/textbooks/dhyhn/tap2/21-thoai-hoa-khop.md; giữ đủ 154 dòng theo bản được cấp.",
        "Lập mốc trang cho Thoái hóa khớp; ghi trang vật lý và bản PDF là chưa có, không tự ánh xạ.",
        "Tạo bản dẫn xuất mới với nội dung giữ nguyên sau giải mã BOM; so chuỗi số và text.",
        "Ghi hash bản nguồn, hash/phiên bản dẫn xuất và câu hỏi kiểm gốc; không gọi là đã kiểm từng trang."
      ],
      "acceptance": [
        "Nội dung giữ nguyên; không xóa phần thuốc hoặc cảnh báo khỏi bản nguồn.",
        "Đầu ra chỉ dành nghiên cứu; số có mặt không chứng minh số đúng ảnh gốc."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_01/NGUON_TAI_SU_DUNG.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_01/BAN_KE_NGUON.json"
      ],
      "planned_use_dates": [
        "2026-12-29",
        "2026-12-30",
        "2026-12-31",
        "2027-01-02",
        "2027-01-05",
        "2027-01-08",
        "2027-01-09",
        "2027-01-11"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK12",
      "title": "Tái dùng đầy đủ chương nguồn lô 02: Viêm khớp dạng thấp",
      "parent_ids": [
        "MK02A",
        "MK02B",
        "MK02C",
        "MK02D",
        "K02A"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/sources/textbooks/dhyhn/tap2/14-viem-khop-dang-thap.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_02/NGUON_TAI_SU_DUNG.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_02/BAN_KE_NGUON.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK12_TAI_DUNG_DAY_DU_CHUONG_NGUON_LO_02_VIEM_KHOP_DANG_THAP.md",
      "depends_on": [
        "AI-YK01",
        "AI-YK07"
      ],
      "steps": [
        "Đọc toàn bộ knowledge-base/sources/textbooks/dhyhn/tap2/14-viem-khop-dang-thap.md; giữ đủ 572 dòng theo bản được cấp.",
        "Lập mốc trang cho Viêm khớp dạng thấp; ghi trang vật lý và bản PDF là chưa có, không tự ánh xạ.",
        "Tạo bản dẫn xuất mới với nội dung giữ nguyên sau giải mã BOM; so chuỗi số và text.",
        "Ghi hash bản nguồn, hash/phiên bản dẫn xuất và câu hỏi kiểm gốc; không gọi là đã kiểm từng trang."
      ],
      "acceptance": [
        "Nội dung giữ nguyên; không xóa phần thuốc hoặc cảnh báo khỏi bản nguồn.",
        "Đầu ra chỉ dành nghiên cứu; số có mặt không chứng minh số đúng ảnh gốc."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_02/NGUON_TAI_SU_DUNG.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_02/BAN_KE_NGUON.json"
      ],
      "planned_use_dates": [
        "2027-01-12",
        "2027-01-13",
        "2027-01-14",
        "2027-01-15",
        "2027-03-20",
        "2027-03-22",
        "2027-03-23",
        "2027-04-02",
        "2027-04-03"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK13",
      "title": "Tái dùng đầy đủ chương nguồn lô 03: Gút",
      "parent_ids": [
        "MK03A",
        "MK03B",
        "MK03C",
        "MK03D",
        "K03A"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/sources/textbooks/dhyhn/tap2/20-benh-gut.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_03/NGUON_TAI_SU_DUNG.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_03/BAN_KE_NGUON.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK13_TAI_DUNG_DAY_DU_CHUONG_NGUON_LO_03_GUT.md",
      "depends_on": [
        "AI-YK01",
        "AI-YK07"
      ],
      "steps": [
        "Đọc toàn bộ knowledge-base/sources/textbooks/dhyhn/tap2/20-benh-gut.md; giữ đủ 380 dòng theo bản được cấp.",
        "Lập mốc trang cho Gút; ghi trang vật lý và bản PDF là chưa có, không tự ánh xạ.",
        "Tạo bản dẫn xuất mới với nội dung giữ nguyên sau giải mã BOM; so chuỗi số và text.",
        "Ghi hash bản nguồn, hash/phiên bản dẫn xuất và câu hỏi kiểm gốc; không gọi là đã kiểm từng trang."
      ],
      "acceptance": [
        "Nội dung giữ nguyên; không xóa phần thuốc hoặc cảnh báo khỏi bản nguồn.",
        "Đầu ra chỉ dành nghiên cứu; số có mặt không chứng minh số đúng ảnh gốc."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_03/NGUON_TAI_SU_DUNG.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_03/BAN_KE_NGUON.json"
      ],
      "planned_use_dates": [
        "2027-04-03",
        "2027-04-05",
        "2027-04-06",
        "2027-04-07",
        "2027-04-08",
        "2027-04-24",
        "2027-04-26",
        "2027-04-27",
        "2027-04-28",
        "2027-04-29"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK14",
      "title": "Tái dùng đầy đủ chương nguồn lô 04: Loãng xương",
      "parent_ids": [
        "MK04A",
        "MK04B",
        "MK04C",
        "MK04D",
        "K04A"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/sources/textbooks/dhyhn/tap2/22-loang-xuong.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_04/NGUON_TAI_SU_DUNG.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_04/BAN_KE_NGUON.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK14_TAI_DUNG_DAY_DU_CHUONG_NGUON_LO_04_LOANG_XUONG.md",
      "depends_on": [
        "AI-YK01",
        "AI-YK07"
      ],
      "steps": [
        "Đọc toàn bộ knowledge-base/sources/textbooks/dhyhn/tap2/22-loang-xuong.md; giữ đủ 221 dòng theo bản được cấp.",
        "Lập mốc trang cho Loãng xương; ghi trang vật lý và bản PDF là chưa có, không tự ánh xạ.",
        "Tạo bản dẫn xuất mới với nội dung giữ nguyên sau giải mã BOM; so chuỗi số và text.",
        "Ghi hash bản nguồn, hash/phiên bản dẫn xuất và câu hỏi kiểm gốc; không gọi là đã kiểm từng trang."
      ],
      "acceptance": [
        "Nội dung giữ nguyên; không xóa phần thuốc hoặc cảnh báo khỏi bản nguồn.",
        "Đầu ra chỉ dành nghiên cứu; số có mặt không chứng minh số đúng ảnh gốc."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_04/NGUON_TAI_SU_DUNG.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_04/BAN_KE_NGUON.json"
      ],
      "planned_use_dates": [
        "2027-05-03",
        "2027-05-04",
        "2027-05-08",
        "2027-05-10",
        "2027-05-13",
        "2027-05-14",
        "2027-05-15",
        "2027-05-17"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK15",
      "title": "Tái dùng đầy đủ chương nguồn lô 05: Đau thắt lưng",
      "parent_ids": [
        "MK05A",
        "MK05B",
        "MK05C",
        "MK05D",
        "K05A"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/sources/textbooks/dhyhn/tap2/28-dau-vung-that-lung.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_05/NGUON_TAI_SU_DUNG.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_05/BAN_KE_NGUON.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK15_TAI_DUNG_DAY_DU_CHUONG_NGUON_LO_05_DAU_THAT_LUNG.md",
      "depends_on": [
        "AI-YK01",
        "AI-YK07"
      ],
      "steps": [
        "Đọc toàn bộ knowledge-base/sources/textbooks/dhyhn/tap2/28-dau-vung-that-lung.md; giữ đủ 335 dòng theo bản được cấp.",
        "Lập mốc trang cho Đau thắt lưng; ghi trang vật lý và bản PDF là chưa có, không tự ánh xạ.",
        "Tạo bản dẫn xuất mới với nội dung giữ nguyên sau giải mã BOM; so chuỗi số và text.",
        "Ghi hash bản nguồn, hash/phiên bản dẫn xuất và câu hỏi kiểm gốc; không gọi là đã kiểm từng trang."
      ],
      "acceptance": [
        "Nội dung giữ nguyên; không xóa phần thuốc hoặc cảnh báo khỏi bản nguồn.",
        "Đầu ra chỉ dành nghiên cứu; số có mặt không chứng minh số đúng ảnh gốc."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_05/NGUON_TAI_SU_DUNG.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_05/BAN_KE_NGUON.json"
      ],
      "planned_use_dates": [
        "2027-05-18",
        "2027-05-19",
        "2027-05-20",
        "2027-05-21",
        "2027-06-01",
        "2027-06-02",
        "2027-06-03",
        "2027-06-04",
        "2027-06-05"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK16",
      "title": "Tái dùng đầy đủ chương nguồn lô 06: Nhiễm khuẩn cơ xương khớp",
      "parent_ids": [
        "MK06A",
        "MK06B",
        "MK06C",
        "MK06D",
        "K06A"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/sources/textbooks/dhyhn/tap2/25-nhiem-khuan-co-xuong-khop.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_06/NGUON_TAI_SU_DUNG.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_06/BAN_KE_NGUON.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK16_TAI_DUNG_DAY_DU_CHUONG_NGUON_LO_06_NHIEM_KHUAN_CO_XUONG_KHOP.md",
      "depends_on": [
        "AI-YK01",
        "AI-YK07"
      ],
      "steps": [
        "Đọc toàn bộ knowledge-base/sources/textbooks/dhyhn/tap2/25-nhiem-khuan-co-xuong-khop.md; giữ đủ 161 dòng theo bản được cấp.",
        "Lập mốc trang cho Nhiễm khuẩn cơ xương khớp; ghi trang vật lý và bản PDF là chưa có, không tự ánh xạ.",
        "Tạo bản dẫn xuất mới với nội dung giữ nguyên sau giải mã BOM; so chuỗi số và text.",
        "Ghi hash bản nguồn, hash/phiên bản dẫn xuất và câu hỏi kiểm gốc; không gọi là đã kiểm từng trang."
      ],
      "acceptance": [
        "Nội dung giữ nguyên; không xóa phần thuốc hoặc cảnh báo khỏi bản nguồn.",
        "Đầu ra chỉ dành nghiên cứu; số có mặt không chứng minh số đúng ảnh gốc."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_06/NGUON_TAI_SU_DUNG.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_06/BAN_KE_NGUON.json"
      ],
      "planned_use_dates": [
        "2027-06-05",
        "2027-06-07",
        "2027-06-08",
        "2027-06-09",
        "2027-06-17",
        "2027-06-18",
        "2027-06-19",
        "2027-06-21"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK17",
      "title": "Tái dùng đầy đủ chương nguồn lô 07: Mô tả triệu chứng khi đi khám",
      "parent_ids": [
        "MK07A",
        "MK07B",
        "MK07C",
        "MK07D",
        "K07A"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/sources/textbooks/dhyhn/tap2/27-dinh-huong-chan-doan-dau-xuong-khop.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_07/NGUON_TAI_SU_DUNG.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_07/BAN_KE_NGUON.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK17_TAI_DUNG_DAY_DU_CHUONG_NGUON_LO_07_MO_TA_TRIEU_CHUNG_KHI_DI_KHAM.md",
      "depends_on": [
        "AI-YK01",
        "AI-YK07"
      ],
      "steps": [
        "Đọc toàn bộ knowledge-base/sources/textbooks/dhyhn/tap2/27-dinh-huong-chan-doan-dau-xuong-khop.md; giữ đủ 221 dòng theo bản được cấp.",
        "Lập mốc trang cho Mô tả triệu chứng khi đi khám; ghi trang vật lý và bản PDF là chưa có, không tự ánh xạ.",
        "Tạo bản dẫn xuất mới với nội dung giữ nguyên sau giải mã BOM; so chuỗi số và text.",
        "Ghi hash bản nguồn, hash/phiên bản dẫn xuất và câu hỏi kiểm gốc; không gọi là đã kiểm từng trang."
      ],
      "acceptance": [
        "Nội dung giữ nguyên; không xóa phần thuốc hoặc cảnh báo khỏi bản nguồn.",
        "Đầu ra chỉ dành nghiên cứu; số có mặt không chứng minh số đúng ảnh gốc."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_07/NGUON_TAI_SU_DUNG.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_07/BAN_KE_NGUON.json"
      ],
      "planned_use_dates": [
        "2027-06-22",
        "2027-06-23",
        "2027-06-24",
        "2027-06-25",
        "2027-07-01",
        "2027-07-02",
        "2027-07-03",
        "2027-07-05"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK18",
      "title": "Tái dùng đầy đủ chương nguồn lô 08: Khám người cao tuổi và giới hạn quan sát",
      "parent_ids": [
        "MK08A",
        "MK08B",
        "MK08C",
        "MK08D",
        "K08A"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/sources/textbooks/dhyhn/tap1/35-kham-benh-o-nguoi-cao-tuoi.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_08/NGUON_TAI_SU_DUNG.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_08/BAN_KE_NGUON.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK18_TAI_DUNG_DAY_DU_CHUONG_NGUON_LO_08_KHAM_NGUOI_CAO_TUOI_VA_GIOI_HAN_QUAN_SAT.md",
      "depends_on": [
        "AI-YK01",
        "AI-YK07"
      ],
      "steps": [
        "Đọc toàn bộ knowledge-base/sources/textbooks/dhyhn/tap1/35-kham-benh-o-nguoi-cao-tuoi.md; giữ đủ 191 dòng theo bản được cấp.",
        "Lập mốc trang cho Khám người cao tuổi và giới hạn quan sát; ghi trang vật lý và bản PDF là chưa có, không tự ánh xạ.",
        "Tạo bản dẫn xuất mới với nội dung giữ nguyên sau giải mã BOM; so chuỗi số và text.",
        "Ghi hash bản nguồn, hash/phiên bản dẫn xuất và câu hỏi kiểm gốc; không gọi là đã kiểm từng trang."
      ],
      "acceptance": [
        "Nội dung giữ nguyên; không xóa phần thuốc hoặc cảnh báo khỏi bản nguồn.",
        "Đầu ra chỉ dành nghiên cứu; số có mặt không chứng minh số đúng ảnh gốc."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_08/NGUON_TAI_SU_DUNG.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_08/BAN_KE_NGUON.json"
      ],
      "planned_use_dates": [
        "2027-07-06",
        "2027-07-07",
        "2027-07-08",
        "2027-07-09",
        "2027-07-15",
        "2027-07-16",
        "2027-07-17",
        "2027-07-19"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK19",
      "title": "Soạn 5 thẻ và 5 FAQ nghiên cứu lô 01: Thoái hóa khớp",
      "parent_ids": [
        "K01A",
        "K01B",
        "K01D"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/sources/textbooks/dhyhn/tap2/21-thoai-hoa-khop.md",
        "knowledge-base/knowledge-cards/W1_D03_KnowledgeCards_v0.1.md",
        "knowledge-base/faq/W1_D05_FAQ_Draft_v0.1.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_01/THE_VA_FAQ_NHAP.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_01/THE_NHAP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_01/FAQ_NHAP.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK19_SOAN_5_THE_VA_5_FAQ_NGHIEN_CUU_LO_01_THOAI_HOA_KHOP.md",
      "depends_on": [
        "AI-YK11",
        "AI-YK02"
      ],
      "steps": [
        "Đọc chương knowledge-base/sources/textbooks/dhyhn/tap2/21-thoai-hoa-khop.md và 5 cặp định vị trong bản nháp; đối chiếu toàn câu với trích nguồn.",
        "Soạn năm câu hỏi giáo dục khác nhau; trả lời ngắn theo nguồn, không thêm ngưỡng hoặc thuốc.",
        "Dùng ID AI-DRAFT riêng; nối FAQ với thẻ và source_sha256; không ghi đè ID cũ.",
        "Kiểm mọi định vị có nội dung; nêu giới hạn bản OCR, quyền, đối tượng và câu hỏi chuyên môn."
      ],
      "acceptance": [
        "Đủ 5+5 ID khác nhau; mỗi ID có đoạn nguồn đúng dòng.",
        "DRAFT, reviewed_by=null, release_authorized=false; không ép schema phát hành khi chưa phân xử."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_01/THE_VA_FAQ_NHAP.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_01/THE_NHAP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_01/FAQ_NHAP.json"
      ],
      "planned_use_dates": [
        "2027-01-09",
        "2027-01-11",
        "2027-01-12",
        "2027-01-14",
        "2027-01-16",
        "2027-01-19"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK20",
      "title": "Soạn 5 thẻ và 5 FAQ nghiên cứu lô 02: Viêm khớp dạng thấp",
      "parent_ids": [
        "K02A",
        "K02B",
        "K02D"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/sources/textbooks/dhyhn/tap2/14-viem-khop-dang-thap.md",
        "knowledge-base/knowledge-cards/W1_D03_KnowledgeCards_v0.1.md",
        "knowledge-base/faq/W1_D05_FAQ_Draft_v0.1.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_02/THE_VA_FAQ_NHAP.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_02/THE_NHAP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_02/FAQ_NHAP.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK20_SOAN_5_THE_VA_5_FAQ_NGHIEN_CUU_LO_02_VIEM_KHOP_DANG_THAP.md",
      "depends_on": [
        "AI-YK12",
        "AI-YK02"
      ],
      "steps": [
        "Đọc chương knowledge-base/sources/textbooks/dhyhn/tap2/14-viem-khop-dang-thap.md và 5 cặp định vị trong bản nháp; đối chiếu toàn câu với trích nguồn.",
        "Soạn năm câu hỏi giáo dục khác nhau; trả lời ngắn theo nguồn, không thêm ngưỡng hoặc thuốc.",
        "Dùng ID AI-DRAFT riêng; nối FAQ với thẻ và source_sha256; không ghi đè ID cũ.",
        "Kiểm mọi định vị có nội dung; nêu giới hạn bản OCR, quyền, đối tượng và câu hỏi chuyên môn."
      ],
      "acceptance": [
        "Đủ 5+5 ID khác nhau; mỗi ID có đoạn nguồn đúng dòng.",
        "DRAFT, reviewed_by=null, release_authorized=false; không ép schema phát hành khi chưa phân xử."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_02/THE_VA_FAQ_NHAP.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_02/THE_NHAP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_02/FAQ_NHAP.json"
      ],
      "planned_use_dates": [
        "2027-03-23",
        "2027-04-02",
        "2027-04-03",
        "2027-04-10",
        "2027-04-17",
        "2027-04-20",
        "2027-04-22"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK21",
      "title": "Soạn 5 thẻ và 5 FAQ nghiên cứu lô 03: Gút",
      "parent_ids": [
        "K03A",
        "K03B",
        "K03D"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/sources/textbooks/dhyhn/tap2/20-benh-gut.md",
        "knowledge-base/knowledge-cards/W1_D03_KnowledgeCards_v0.1.md",
        "knowledge-base/faq/W1_D05_FAQ_Draft_v0.1.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_03/THE_VA_FAQ_NHAP.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_03/THE_NHAP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_03/FAQ_NHAP.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK21_SOAN_5_THE_VA_5_FAQ_NGHIEN_CUU_LO_03_GUT.md",
      "depends_on": [
        "AI-YK13",
        "AI-YK02"
      ],
      "steps": [
        "Đọc chương knowledge-base/sources/textbooks/dhyhn/tap2/20-benh-gut.md và 5 cặp định vị trong bản nháp; đối chiếu toàn câu với trích nguồn.",
        "Soạn năm câu hỏi giáo dục khác nhau; trả lời ngắn theo nguồn, không thêm ngưỡng hoặc thuốc.",
        "Dùng ID AI-DRAFT riêng; nối FAQ với thẻ và source_sha256; không ghi đè ID cũ.",
        "Kiểm mọi định vị có nội dung; nêu giới hạn bản OCR, quyền, đối tượng và câu hỏi chuyên môn."
      ],
      "acceptance": [
        "Đủ 5+5 ID khác nhau; mỗi ID có đoạn nguồn đúng dòng.",
        "DRAFT, reviewed_by=null, release_authorized=false; không ép schema phát hành khi chưa phân xử."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_03/THE_VA_FAQ_NHAP.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_03/THE_NHAP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_03/FAQ_NHAP.json"
      ],
      "planned_use_dates": [
        "2027-04-27",
        "2027-04-28",
        "2027-04-29",
        "2027-05-04",
        "2027-05-06",
        "2027-05-08",
        "2027-05-11"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK22",
      "title": "Soạn 5 thẻ và 5 FAQ nghiên cứu lô 04: Loãng xương",
      "parent_ids": [
        "K04A",
        "K04B",
        "K04D"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/sources/textbooks/dhyhn/tap2/22-loang-xuong.md",
        "knowledge-base/knowledge-cards/W1_D03_KnowledgeCards_v0.1.md",
        "knowledge-base/faq/W1_D05_FAQ_Draft_v0.1.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_04/THE_VA_FAQ_NHAP.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_04/THE_NHAP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_04/FAQ_NHAP.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK22_SOAN_5_THE_VA_5_FAQ_NGHIEN_CUU_LO_04_LOANG_XUONG.md",
      "depends_on": [
        "AI-YK14",
        "AI-YK02"
      ],
      "steps": [
        "Đọc chương knowledge-base/sources/textbooks/dhyhn/tap2/22-loang-xuong.md và 5 cặp định vị trong bản nháp; đối chiếu toàn câu với trích nguồn.",
        "Soạn năm câu hỏi giáo dục khác nhau; trả lời ngắn theo nguồn, không thêm ngưỡng hoặc thuốc.",
        "Dùng ID AI-DRAFT riêng; nối FAQ với thẻ và source_sha256; không ghi đè ID cũ.",
        "Kiểm mọi định vị có nội dung; nêu giới hạn bản OCR, quyền, đối tượng và câu hỏi chuyên môn."
      ],
      "acceptance": [
        "Đủ 5+5 ID khác nhau; mỗi ID có đoạn nguồn đúng dòng.",
        "DRAFT, reviewed_by=null, release_authorized=false; không ép schema phát hành khi chưa phân xử."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_04/THE_VA_FAQ_NHAP.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_04/THE_NHAP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_04/FAQ_NHAP.json"
      ],
      "planned_use_dates": [
        "2027-05-15",
        "2027-05-17",
        "2027-05-18",
        "2027-05-20",
        "2027-05-22",
        "2027-05-25"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK23",
      "title": "Soạn 5 thẻ và 5 FAQ nghiên cứu lô 05: Đau thắt lưng",
      "parent_ids": [
        "K05A",
        "K05B",
        "K05D"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/sources/textbooks/dhyhn/tap2/28-dau-vung-that-lung.md",
        "knowledge-base/knowledge-cards/W1_D03_KnowledgeCards_v0.1.md",
        "knowledge-base/faq/W1_D05_FAQ_Draft_v0.1.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_05/THE_VA_FAQ_NHAP.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_05/THE_NHAP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_05/FAQ_NHAP.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK23_SOAN_5_THE_VA_5_FAQ_NGHIEN_CUU_LO_05_DAU_THAT_LUNG.md",
      "depends_on": [
        "AI-YK15",
        "AI-YK02"
      ],
      "steps": [
        "Đọc chương knowledge-base/sources/textbooks/dhyhn/tap2/28-dau-vung-that-lung.md và 5 cặp định vị trong bản nháp; đối chiếu toàn câu với trích nguồn.",
        "Soạn năm câu hỏi giáo dục khác nhau; trả lời ngắn theo nguồn, không thêm ngưỡng hoặc thuốc.",
        "Dùng ID AI-DRAFT riêng; nối FAQ với thẻ và source_sha256; không ghi đè ID cũ.",
        "Kiểm mọi định vị có nội dung; nêu giới hạn bản OCR, quyền, đối tượng và câu hỏi chuyên môn."
      ],
      "acceptance": [
        "Đủ 5+5 ID khác nhau; mỗi ID có đoạn nguồn đúng dòng.",
        "DRAFT, reviewed_by=null, release_authorized=false; không ép schema phát hành khi chưa phân xử."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_05/THE_VA_FAQ_NHAP.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_05/THE_NHAP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_05/FAQ_NHAP.json"
      ],
      "planned_use_dates": [
        "2027-06-03",
        "2027-06-04",
        "2027-06-05",
        "2027-06-08",
        "2027-06-10",
        "2027-06-12",
        "2027-06-15"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK24",
      "title": "Soạn 5 thẻ và 5 FAQ nghiên cứu lô 06: Nhiễm khuẩn cơ xương khớp",
      "parent_ids": [
        "K06A",
        "K06B",
        "K06D"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/sources/textbooks/dhyhn/tap2/25-nhiem-khuan-co-xuong-khop.md",
        "knowledge-base/knowledge-cards/W1_D03_KnowledgeCards_v0.1.md",
        "knowledge-base/faq/W1_D05_FAQ_Draft_v0.1.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_06/THE_VA_FAQ_NHAP.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_06/THE_NHAP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_06/FAQ_NHAP.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK24_SOAN_5_THE_VA_5_FAQ_NGHIEN_CUU_LO_06_NHIEM_KHUAN_CO_XUONG_KHOP.md",
      "depends_on": [
        "AI-YK16",
        "AI-YK02"
      ],
      "steps": [
        "Đọc chương knowledge-base/sources/textbooks/dhyhn/tap2/25-nhiem-khuan-co-xuong-khop.md và 5 cặp định vị trong bản nháp; đối chiếu toàn câu với trích nguồn.",
        "Soạn năm câu hỏi giáo dục khác nhau; trả lời ngắn theo nguồn, không thêm ngưỡng hoặc thuốc.",
        "Dùng ID AI-DRAFT riêng; nối FAQ với thẻ và source_sha256; không ghi đè ID cũ.",
        "Kiểm mọi định vị có nội dung; nêu giới hạn bản OCR, quyền, đối tượng và câu hỏi chuyên môn."
      ],
      "acceptance": [
        "Đủ 5+5 ID khác nhau; mỗi ID có đoạn nguồn đúng dòng.",
        "DRAFT, reviewed_by=null, release_authorized=false; không ép schema phát hành khi chưa phân xử."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_06/THE_VA_FAQ_NHAP.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_06/THE_NHAP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_06/FAQ_NHAP.json"
      ],
      "planned_use_dates": [
        "2027-06-19",
        "2027-06-21",
        "2027-06-22",
        "2027-06-24",
        "2027-06-26",
        "2027-06-29"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK25",
      "title": "Soạn 5 thẻ và 5 FAQ nghiên cứu lô 07: Mô tả triệu chứng khi đi khám",
      "parent_ids": [
        "K07A",
        "K07B",
        "K07D"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/sources/textbooks/dhyhn/tap2/27-dinh-huong-chan-doan-dau-xuong-khop.md",
        "knowledge-base/knowledge-cards/W1_D03_KnowledgeCards_v0.1.md",
        "knowledge-base/faq/W1_D05_FAQ_Draft_v0.1.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_07/THE_VA_FAQ_NHAP.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_07/THE_NHAP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_07/FAQ_NHAP.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK25_SOAN_5_THE_VA_5_FAQ_NGHIEN_CUU_LO_07_MO_TA_TRIEU_CHUNG_KHI_DI_KHAM.md",
      "depends_on": [
        "AI-YK17",
        "AI-YK02"
      ],
      "steps": [
        "Đọc chương knowledge-base/sources/textbooks/dhyhn/tap2/27-dinh-huong-chan-doan-dau-xuong-khop.md và 5 cặp định vị trong bản nháp; đối chiếu toàn câu với trích nguồn.",
        "Soạn năm câu hỏi giáo dục khác nhau; trả lời ngắn theo nguồn, không thêm ngưỡng hoặc thuốc.",
        "Dùng ID AI-DRAFT riêng; nối FAQ với thẻ và source_sha256; không ghi đè ID cũ.",
        "Kiểm mọi định vị có nội dung; nêu giới hạn bản OCR, quyền, đối tượng và câu hỏi chuyên môn."
      ],
      "acceptance": [
        "Đủ 5+5 ID khác nhau; mỗi ID có đoạn nguồn đúng dòng.",
        "DRAFT, reviewed_by=null, release_authorized=false; không ép schema phát hành khi chưa phân xử."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_07/THE_VA_FAQ_NHAP.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_07/THE_NHAP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_07/FAQ_NHAP.json"
      ],
      "planned_use_dates": [
        "2027-07-03",
        "2027-07-05",
        "2027-07-06",
        "2027-07-08",
        "2027-07-10",
        "2027-07-13"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK26",
      "title": "Soạn 5 thẻ và 5 FAQ nghiên cứu lô 08: Khám người cao tuổi và giới hạn quan sát",
      "parent_ids": [
        "K08A",
        "K08B",
        "K08D"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/sources/textbooks/dhyhn/tap1/35-kham-benh-o-nguoi-cao-tuoi.md",
        "knowledge-base/knowledge-cards/W1_D03_KnowledgeCards_v0.1.md",
        "knowledge-base/faq/W1_D05_FAQ_Draft_v0.1.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_08/THE_VA_FAQ_NHAP.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_08/THE_NHAP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_08/FAQ_NHAP.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK26_SOAN_5_THE_VA_5_FAQ_NGHIEN_CUU_LO_08_KHAM_NGUOI_CAO_TUOI_VA_GIOI_HAN_QUAN_SAT.md",
      "depends_on": [
        "AI-YK18",
        "AI-YK02"
      ],
      "steps": [
        "Đọc chương knowledge-base/sources/textbooks/dhyhn/tap1/35-kham-benh-o-nguoi-cao-tuoi.md và 5 cặp định vị trong bản nháp; đối chiếu toàn câu với trích nguồn.",
        "Soạn năm câu hỏi giáo dục khác nhau; trả lời ngắn theo nguồn, không thêm ngưỡng hoặc thuốc.",
        "Dùng ID AI-DRAFT riêng; nối FAQ với thẻ và source_sha256; không ghi đè ID cũ.",
        "Kiểm mọi định vị có nội dung; nêu giới hạn bản OCR, quyền, đối tượng và câu hỏi chuyên môn."
      ],
      "acceptance": [
        "Đủ 5+5 ID khác nhau; mỗi ID có đoạn nguồn đúng dòng.",
        "DRAFT, reviewed_by=null, release_authorized=false; không ép schema phát hành khi chưa phân xử."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_08/THE_VA_FAQ_NHAP.md",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_08/THE_NHAP.json",
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/LO_08/FAQ_NHAP.json"
      ],
      "planned_use_dates": [
        "2027-07-17",
        "2027-07-19",
        "2027-07-20",
        "2027-07-22",
        "2027-07-24",
        "2027-07-27"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-YK27",
      "title": "Sửa đúng nhận xét chuyên môn và kiểm lại lô 01",
      "parent_ids": [
        "K01C",
        "K01D",
        "MK01C",
        "MK01D"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\LO_01\\THE_NHAP.json",
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\LO_01\\FAQ_NHAP.json",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK27_SUA_DUNG_NHAN_XET_CHUYEN_MON_VA_KIEM_LAI_LO_01.md",
      "depends_on": [
        "AI-YK19"
      ],
      "steps": [
        "Nhận phiếu CVYK theo ID/hash của LO_01, nội dung trước/sau và quyền sửa.",
        "Đối chiếu từng nhận xét với nguồn; sửa bản dẫn xuất riêng, không tự xử lý bất đồng.",
        "Tính hash mới, kiểm số và liên kết, lập bảng đáp ứng từng nhận xét; trả phần chưa giải quyết."
      ],
      "acceptance": [
        "Mọi sửa đổi truy được nhận xét thật và vị trí nguồn.",
        "Không giả nhận xét hoặc quyết định xét lại; không đổi APPROVED."
      ],
      "reviewer_roles": [
        "NCS1",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": "Chưa có phiếu nhận xét CVYK đúng ID/hash lô 01; chưa có quyết định schema/nhãn và phạm vi lô chuẩn.",
      "execution_evidence": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/SAU_NHAN_DAU_VAO/AI-YK27_KET_QUA.md"
      ],
      "planned_use_dates": [
        "2027-01-05",
        "2027-01-08",
        "2027-01-18",
        "2027-01-19"
      ],
      "execution_date": null
    },
    {
      "id": "AI-YK28",
      "title": "Sửa đúng nhận xét chuyên môn và kiểm lại lô 02",
      "parent_ids": [
        "K02C",
        "K02D",
        "MK02C",
        "MK02D"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\LO_02\\THE_NHAP.json",
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\LO_02\\FAQ_NHAP.json",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK28_SUA_DUNG_NHAN_XET_CHUYEN_MON_VA_KIEM_LAI_LO_02.md",
      "depends_on": [
        "AI-YK20"
      ],
      "steps": [
        "Nhận phiếu CVYK theo ID/hash của LO_02, nội dung trước/sau và quyền sửa.",
        "Đối chiếu từng nhận xét với nguồn; sửa bản dẫn xuất riêng, không tự xử lý bất đồng.",
        "Tính hash mới, kiểm số và liên kết, lập bảng đáp ứng từng nhận xét; trả phần chưa giải quyết."
      ],
      "acceptance": [
        "Mọi sửa đổi truy được nhận xét thật và vị trí nguồn.",
        "Không giả nhận xét hoặc quyết định xét lại; không đổi APPROVED."
      ],
      "reviewer_roles": [
        "NCS1",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": "Chưa có phiếu nhận xét CVYK đúng ID/hash lô 02; chưa có quyết định schema/nhãn và phạm vi lô chuẩn.",
      "execution_evidence": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/SAU_NHAN_DAU_VAO/AI-YK28_KET_QUA.md"
      ],
      "planned_use_dates": [
        "2027-03-20",
        "2027-03-22",
        "2027-04-21",
        "2027-04-22"
      ],
      "execution_date": null
    },
    {
      "id": "AI-YK29",
      "title": "Sửa đúng nhận xét chuyên môn và kiểm lại lô 03",
      "parent_ids": [
        "K03C",
        "K03D",
        "MK03C",
        "MK03D"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\LO_03\\THE_NHAP.json",
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\LO_03\\FAQ_NHAP.json",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK29_SUA_DUNG_NHAN_XET_CHUYEN_MON_VA_KIEM_LAI_LO_03.md",
      "depends_on": [
        "AI-YK21"
      ],
      "steps": [
        "Nhận phiếu CVYK theo ID/hash của LO_03, nội dung trước/sau và quyền sửa.",
        "Đối chiếu từng nhận xét với nguồn; sửa bản dẫn xuất riêng, không tự xử lý bất đồng.",
        "Tính hash mới, kiểm số và liên kết, lập bảng đáp ứng từng nhận xét; trả phần chưa giải quyết."
      ],
      "acceptance": [
        "Mọi sửa đổi truy được nhận xét thật và vị trí nguồn.",
        "Không giả nhận xét hoặc quyết định xét lại; không đổi APPROVED."
      ],
      "reviewer_roles": [
        "NCS1",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": "Chưa có phiếu nhận xét CVYK đúng ID/hash lô 03; chưa có quyết định schema/nhãn và phạm vi lô chuẩn.",
      "execution_evidence": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/SAU_NHAN_DAU_VAO/AI-YK29_KET_QUA.md"
      ],
      "planned_use_dates": [
        "2027-04-24",
        "2027-04-26",
        "2027-05-10",
        "2027-05-11"
      ],
      "execution_date": null
    },
    {
      "id": "AI-YK30",
      "title": "Sửa đúng nhận xét chuyên môn và kiểm lại lô 04",
      "parent_ids": [
        "K04C",
        "K04D",
        "MK04C",
        "MK04D"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\LO_04\\THE_NHAP.json",
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\LO_04\\FAQ_NHAP.json",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK30_SUA_DUNG_NHAN_XET_CHUYEN_MON_VA_KIEM_LAI_LO_04.md",
      "depends_on": [
        "AI-YK22"
      ],
      "steps": [
        "Nhận phiếu CVYK theo ID/hash của LO_04, nội dung trước/sau và quyền sửa.",
        "Đối chiếu từng nhận xét với nguồn; sửa bản dẫn xuất riêng, không tự xử lý bất đồng.",
        "Tính hash mới, kiểm số và liên kết, lập bảng đáp ứng từng nhận xét; trả phần chưa giải quyết."
      ],
      "acceptance": [
        "Mọi sửa đổi truy được nhận xét thật và vị trí nguồn.",
        "Không giả nhận xét hoặc quyết định xét lại; không đổi APPROVED."
      ],
      "reviewer_roles": [
        "NCS1",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": "Chưa có phiếu nhận xét CVYK đúng ID/hash lô 04; chưa có quyết định schema/nhãn và phạm vi lô chuẩn.",
      "execution_evidence": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/SAU_NHAN_DAU_VAO/AI-YK30_KET_QUA.md"
      ],
      "planned_use_dates": [
        "2027-05-13",
        "2027-05-14",
        "2027-05-24",
        "2027-05-25"
      ],
      "execution_date": null
    },
    {
      "id": "AI-YK31",
      "title": "Sửa đúng nhận xét chuyên môn và kiểm lại lô 05",
      "parent_ids": [
        "K05C",
        "K05D",
        "MK05C",
        "MK05D"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\LO_05\\THE_NHAP.json",
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\LO_05\\FAQ_NHAP.json",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK31_SUA_DUNG_NHAN_XET_CHUYEN_MON_VA_KIEM_LAI_LO_05.md",
      "depends_on": [
        "AI-YK23"
      ],
      "steps": [
        "Nhận phiếu CVYK theo ID/hash của LO_05, nội dung trước/sau và quyền sửa.",
        "Đối chiếu từng nhận xét với nguồn; sửa bản dẫn xuất riêng, không tự xử lý bất đồng.",
        "Tính hash mới, kiểm số và liên kết, lập bảng đáp ứng từng nhận xét; trả phần chưa giải quyết."
      ],
      "acceptance": [
        "Mọi sửa đổi truy được nhận xét thật và vị trí nguồn.",
        "Không giả nhận xét hoặc quyết định xét lại; không đổi APPROVED."
      ],
      "reviewer_roles": [
        "NCS1",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": "Chưa có phiếu nhận xét CVYK đúng ID/hash lô 05; chưa có quyết định schema/nhãn và phạm vi lô chuẩn.",
      "execution_evidence": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/SAU_NHAN_DAU_VAO/AI-YK31_KET_QUA.md"
      ],
      "planned_use_dates": [
        "2027-06-01",
        "2027-06-02",
        "2027-06-14",
        "2027-06-15"
      ],
      "execution_date": null
    },
    {
      "id": "AI-YK32",
      "title": "Sửa đúng nhận xét chuyên môn và kiểm lại lô 06",
      "parent_ids": [
        "K06C",
        "K06D",
        "MK06C",
        "MK06D"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\LO_06\\THE_NHAP.json",
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\LO_06\\FAQ_NHAP.json",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK32_SUA_DUNG_NHAN_XET_CHUYEN_MON_VA_KIEM_LAI_LO_06.md",
      "depends_on": [
        "AI-YK24"
      ],
      "steps": [
        "Nhận phiếu CVYK theo ID/hash của LO_06, nội dung trước/sau và quyền sửa.",
        "Đối chiếu từng nhận xét với nguồn; sửa bản dẫn xuất riêng, không tự xử lý bất đồng.",
        "Tính hash mới, kiểm số và liên kết, lập bảng đáp ứng từng nhận xét; trả phần chưa giải quyết."
      ],
      "acceptance": [
        "Mọi sửa đổi truy được nhận xét thật và vị trí nguồn.",
        "Không giả nhận xét hoặc quyết định xét lại; không đổi APPROVED."
      ],
      "reviewer_roles": [
        "NCS1",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": "Chưa có phiếu nhận xét CVYK đúng ID/hash lô 06; chưa có quyết định schema/nhãn và phạm vi lô chuẩn.",
      "execution_evidence": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/SAU_NHAN_DAU_VAO/AI-YK32_KET_QUA.md"
      ],
      "planned_use_dates": [
        "2027-06-17",
        "2027-06-18",
        "2027-06-28",
        "2027-06-29"
      ],
      "execution_date": null
    },
    {
      "id": "AI-YK33",
      "title": "Sửa đúng nhận xét chuyên môn và kiểm lại lô 07",
      "parent_ids": [
        "K07C",
        "K07D",
        "MK07C",
        "MK07D"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\LO_07\\THE_NHAP.json",
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\LO_07\\FAQ_NHAP.json",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK33_SUA_DUNG_NHAN_XET_CHUYEN_MON_VA_KIEM_LAI_LO_07.md",
      "depends_on": [
        "AI-YK25"
      ],
      "steps": [
        "Nhận phiếu CVYK theo ID/hash của LO_07, nội dung trước/sau và quyền sửa.",
        "Đối chiếu từng nhận xét với nguồn; sửa bản dẫn xuất riêng, không tự xử lý bất đồng.",
        "Tính hash mới, kiểm số và liên kết, lập bảng đáp ứng từng nhận xét; trả phần chưa giải quyết."
      ],
      "acceptance": [
        "Mọi sửa đổi truy được nhận xét thật và vị trí nguồn.",
        "Không giả nhận xét hoặc quyết định xét lại; không đổi APPROVED."
      ],
      "reviewer_roles": [
        "NCS1",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": "Chưa có phiếu nhận xét CVYK đúng ID/hash lô 07; chưa có quyết định schema/nhãn và phạm vi lô chuẩn.",
      "execution_evidence": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/SAU_NHAN_DAU_VAO/AI-YK33_KET_QUA.md"
      ],
      "planned_use_dates": [
        "2027-07-01",
        "2027-07-02",
        "2027-07-12",
        "2027-07-13"
      ],
      "execution_date": null
    },
    {
      "id": "AI-YK34",
      "title": "Sửa đúng nhận xét chuyên môn và kiểm lại lô 08",
      "parent_ids": [
        "K08C",
        "K08D",
        "MK08C",
        "MK08D"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\LO_08\\THE_NHAP.json",
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\LO_08\\FAQ_NHAP.json",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK34_SUA_DUNG_NHAN_XET_CHUYEN_MON_VA_KIEM_LAI_LO_08.md",
      "depends_on": [
        "AI-YK26"
      ],
      "steps": [
        "Nhận phiếu CVYK theo ID/hash của LO_08, nội dung trước/sau và quyền sửa.",
        "Đối chiếu từng nhận xét với nguồn; sửa bản dẫn xuất riêng, không tự xử lý bất đồng.",
        "Tính hash mới, kiểm số và liên kết, lập bảng đáp ứng từng nhận xét; trả phần chưa giải quyết."
      ],
      "acceptance": [
        "Mọi sửa đổi truy được nhận xét thật và vị trí nguồn.",
        "Không giả nhận xét hoặc quyết định xét lại; không đổi APPROVED."
      ],
      "reviewer_roles": [
        "NCS1",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": "Chưa có phiếu nhận xét CVYK đúng ID/hash lô 08; chưa có quyết định schema/nhãn và phạm vi lô chuẩn.",
      "execution_evidence": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/SAU_NHAN_DAU_VAO/AI-YK34_KET_QUA.md"
      ],
      "planned_use_dates": [
        "2027-07-15",
        "2027-07-16",
        "2027-07-26",
        "2027-07-27"
      ],
      "execution_date": null
    },
    {
      "id": "AI-YK35",
      "title": "Đối chiếu độc lập bản gốc và dẫn xuất từng trang",
      "parent_ids": [
        "SRC-08",
        "SRC-09",
        "MK01B",
        "MK02B",
        "MK03B",
        "MK04B",
        "MK05B",
        "MK06B",
        "MK07B",
        "MK08B"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "knowledge-base/sources",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK35_DOI_CHIEU_DOC_LAP_BAN_GOC_VA_DAN_XUAT_TUNG_TRANG.md",
      "depends_on": [
        "AI-YK01"
      ],
      "steps": [
        "Nhận PDF/ảnh đúng bản và quyền; kiểm tổng trang vật lý trước xử lý.",
        "Đối chiếu mỗi trang với mốc Markdown; kiểm hình, bảng, dấu, số, đơn vị, phủ định và cảnh báo.",
        "Lập lỗi có vị trí, không đoán phần bị mất; giữ độc lập với việc đã soạn bản nháp."
      ],
      "acceptance": [
        "Mỗi trang chọn có trạng thái kiểm và định vị ảnh.",
        "Không dùng OCR cache thay ảnh gốc."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": "Không có PDF/ảnh bản gốc ĐHYHN và QĐ361 trong workspace; chưa xác minh ấn bản và ánh xạ trang.",
      "execution_evidence": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/SAU_NHAN_DAU_VAO/AI-YK35_KET_QUA.md"
      ],
      "planned_use_dates": [
        "2026-12-18",
        "2026-12-19",
        "2026-12-21",
        "2026-12-22",
        "2026-12-31",
        "2027-01-02",
        "2027-01-14",
        "2027-01-15",
        "2027-04-07",
        "2027-04-08",
        "2027-05-08",
        "2027-05-10",
        "2027-05-20",
        "2027-05-21",
        "2027-06-08",
        "2027-06-09",
        "2027-06-24",
        "2027-06-25",
        "2027-07-08",
        "2027-07-09"
      ],
      "execution_date": null
    },
    {
      "id": "AI-YK36",
      "title": "Tiếp nhận toàn văn mới và bóc tách nguồn camera",
      "parent_ids": [
        "C-SRC03",
        "C-SRC04",
        "C-SRC05"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\NGHIEN_CUU_NGUON_CHINH_THUC.md",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK36_TIEP_NHAN_TOAN_VAN_MOI_VA_BOC_TACH_NGUON_CAMERA.md",
      "depends_on": [
        "AI-YK03",
        "AI-YK04",
        "AI-YK05"
      ],
      "steps": [
        "Nhận tài liệu mới và quyết định quyền tải/lưu/bóc tách đúng thao tác.",
        "Khóa tập trang quy trình đã chọn; trích đủ bảng, hình, chú thích và sự kiện đầu/cuối.",
        "So mọi trang; lập lỗi riêng và bàn giao C03/C04 trước sửa theo nhận xét."
      ],
      "acceptance": [
        "Không biến tóm tắt web thành bản toàn văn đã kiểm.",
        "Mọi trang quy trình có định vị và bản gốc.",
        "Khi nhận toàn văn, đối chiếu coverage_contract và metadata_contract của kế hoạch nguồn hiện hành; mọi trang thiếu phải ghi phiếu."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": "Chưa có quyết định chọn quy trình camera và hồ sơ quyền lưu/toàn văn; PDF mới chưa được nhận vào workspace.",
      "execution_evidence": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/SAU_NHAN_DAU_VAO/AI-YK36_KET_QUA.md"
      ],
      "planned_use_dates": [
        "2027-02-24",
        "2027-02-25",
        "2027-02-26",
        "2027-02-27",
        "2027-03-19",
        "2027-03-20"
      ],
      "execution_date": null
    },
    {
      "id": "AI-YK37",
      "title": "Hiệu chỉnh dự toán bằng giờ công thực",
      "parent_ids": [
        "SRC-11",
        "R121",
        "R122"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "Research\\20260926_AI_THUC_HIEN\\Y_KHOA\\BAN_KE_8_LO_NGHIEN_CUU.json",
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DU_LIEU_CONG_VIEC.json"
      ],
      "outputs": [],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_YK/20260926_2115_PROMPT_AI_YK37_HIEU_CHINH_DU_TOAN_BANG_GIO_CONG_THUC.md",
      "depends_on": [
        "AI-YK09"
      ],
      "steps": [
        "Nhận giờ bóc tách, kiểm, sửa và chờ riêng theo lô.",
        "So số trang, lỗi và số vòng sửa; báo trung vị/phạm vi khi đủ dữ liệu.",
        "Đề xuất dự toán mới có giới hạn, chuyển GVHD và NCS quyết định; không sửa lịch chuẩn."
      ],
      "acceptance": [
        "Mọi giờ công có người ghi và kỳ đo.",
        "Không suy giờ NCS/CVYK từ thời gian công cụ."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "CVYK"
      ],
      "human_boundary": "NCS giữ quyết định nghiên cứu và phần tự viết. CVYK thẩm định chuyên môn; người có thẩm quyền quyết định quyền và cổng.",
      "blocker": "Chưa có nhật ký giờ công người thực hiện, số vòng sửa và thời gian CVYK trên lô đầu.",
      "execution_evidence": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/Y_KHOA/SAU_NHAN_DAU_VAO/AI-YK37_KET_QUA.md"
      ],
      "planned_use_dates": [
        "2026-12-26",
        "2027-01-23",
        "2027-01-29"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT001",
      "domain": "SD03",
      "title": "Đối chiếu và thiết kế Hợp đồng dữ liệu, schema và vòng đời",
      "parent_ids": [
        "R013",
        "R014",
        "R016",
        "A03",
        "R018",
        "R019"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "knowledge-base/schemas/knowledge_item_schema.yaml",
        "knowledge-base/knowledge-cards/_schema.json",
        "knowledge-base/faq/_schema.json",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD03_THIET_KE_VA_RANH_GIOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT001_SD03_THIET_KE.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu contracts và mã hiện có",
        "Thiết kế nhánh thiếu và ca lỗi",
        "Ghi điều kiện chuyển sang thực thi thật"
      ],
      "acceptance": [
        "Có phát hiện theo file thực",
        "Không cấp quyền bằng kết quả kiểm",
        "Mỗi parent có đối soát"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS review; quyết định phạm vi, quyền và chuyên môn thuộc người có thẩm quyền.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD03_THIET_KE_VA_RANH_GIOI.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_NGUON.json",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md"
      ],
      "phase": "preparation_completed",
      "planned_use_dates": [
        "2026-10-17",
        "2026-10-19",
        "2026-10-20",
        "2026-10-21",
        "2026-10-22",
        "2026-10-24",
        "2026-10-28",
        "2026-10-29",
        "2026-10-30",
        "2026-10-31",
        "2026-11-03"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT002",
      "domain": "SD03",
      "title": "Chốt đề xuất hợp đồng schema và phiên bản",
      "parent_ids": [
        "R013"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "knowledge-base/schemas/knowledge_item_schema.yaml",
        "knowledge-base/knowledge-cards/_schema.json",
        "knowledge-base/faq/_schema.json",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/project/HOP_DONG_DU_LIEU.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT002_R013.md",
      "depends_on": [
        "AI-KT001"
      ],
      "business_dependencies": [
        "PREP"
      ],
      "steps": [
        "Đối chiếu từng trường, kiểu dữ liệu, ID và trạng thái. Ghi khác biệt có ảnh hưởng tới kiểm tra hoặc phát hành.",
        "Ghi trường bắt buộc, giá trị cho phép và cách tham chiếu nguồn. Đánh dấu nhãn cần CVYK xét; không tự đổi nghĩa.",
        "Nối tạo, review, phát hành, thu hồi và xóa. Ghi điểm chuyển đổi và trách nhiệm, chuyển R014/R015/R016."
      ],
      "acceptance": [
        "Mỗi khác biệt có vị trí và câu hỏi cần phân xử.",
        "Có mẫu hợp lệ, không hợp lệ và trường hợp rỗng.",
        "Hợp đồng đề xuất đầy đủ; phần chưa được xét được đánh dấu."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào PREP trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-10-17",
        "2026-10-19"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT003",
      "domain": "SD03",
      "title": "Review dữ liệu camera tối thiểu",
      "parent_ids": [
        "R014"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "knowledge-base/schemas/knowledge_item_schema.yaml",
        "knowledge-base/knowledge-cards/_schema.json",
        "knowledge-base/faq/_schema.json",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/project/HOP_DONG_DU_LIEU.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT003_R014.md",
      "depends_on": [
        "AI-KT001"
      ],
      "business_dependencies": [
        "R013"
      ],
      "steps": [
        "Ghi từng chỉ số cần dùng, mục đích và nguồn. Bỏ yêu cầu gửi video hoặc khung xương khỏi hợp đồng.",
        "Mô tả khi không đo được, hết quyền hoặc dữ liệu cần thu hồi. Chuyển đề xuất cho người giữ dữ liệu."
      ],
      "acceptance": [
        "Trường giữ lại có nhu cầu cụ thể và giới hạn.",
        "Không tự chọn thời hạn lưu chỉ số từ quy tắc video."
      ],
      "reviewer_roles": [
        "NCS2"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R013 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-10-20",
        "2026-10-21"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT005",
      "domain": "SD03",
      "title": "Thiết kế vòng đời và quyền dữ liệu",
      "parent_ids": [
        "R016"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "knowledge-base/schemas/knowledge_item_schema.yaml",
        "knowledge-base/knowledge-cards/_schema.json",
        "knowledge-base/faq/_schema.json",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/project/HOP_DONG_DU_LIEU.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT005_R016.md",
      "depends_on": [
        "AI-KT001"
      ],
      "business_dependencies": [
        "R013"
      ],
      "steps": [
        "Gắn trường với mục đích, chủ giữ và người đọc/ghi. Phân biệt dữ liệu nghiên cứu với dữ liệu vận hành.",
        "Ghi thời hạn dự kiến, cách nhận yêu cầu và phần dữ liệu không còn được dùng. Nối với bản sao.",
        "Kiểm trường hợp khôi phục dữ liệu đã mất quyền. Ghi quy tắc lưu bằng chứng và chuyển hồ sơ kiểm quyền."
      ],
      "acceptance": [
        "Không có trường vô chủ hoặc không rõ mục đích.",
        "Quyền giữ chỉ số được quyết định riêng.",
        "Phục hồi không làm sống lại quyền đã bị thu hồi."
      ],
      "reviewer_roles": [
        "DATA"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R013 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-10-20",
        "2026-10-22",
        "2026-10-24"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT007",
      "domain": "SD03",
      "title": "Cập nhật schema và bộ kiểm theo quyết định",
      "parent_ids": [
        "A03"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "knowledge-base/schemas/knowledge_item_schema.yaml",
        "knowledge-base/knowledge-cards/_schema.json",
        "knowledge-base/faq/_schema.json",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "knowledge-base/schemas/; tools/validate_schema.py; testing/scripts/"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT007_A03.md",
      "depends_on": [
        "AI-KT001"
      ],
      "business_dependencies": [
        "R014",
        "R015",
        "R017"
      ],
      "steps": [
        "Đồng bộ schema/validator; viết ca biên và chuyển đổi; giữ dữ liệu mẫu tổng hợp."
      ],
      "acceptance": [
        "Mọi thay đổi có test âm, dữ liệu rỗng không đạt giả."
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R014, R015, R017 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-10-28"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT008",
      "domain": "SD03",
      "title": "Review và áp dụng hợp đồng đã xét",
      "parent_ids": [
        "R018"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "knowledge-base/schemas/knowledge_item_schema.yaml",
        "knowledge-base/knowledge-cards/_schema.json",
        "knowledge-base/faq/_schema.json",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/project/HOP_DONG_DU_LIEU.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT008_R018.md",
      "depends_on": [
        "AI-KT001"
      ],
      "business_dependencies": [
        "A03"
      ],
      "steps": [
        "Đọc bản thay đổi A03 theo từng trường. Kiểm cách xử lý ID, trạng thái, nguồn và dữ liệu rỗng.",
        "Chạy ca đúng/sai; đối chiếu kết quả với hợp đồng. Sửa từ điển trường và lưu phiên bản để review độc lập."
      ],
      "acceptance": [
        "NCS giải thích được lý do thay đổi; không lẫn thay cấu trúc với duyệt nội dung.",
        "Schema, validator và tài liệu cùng hợp đồng; lỗi còn mở được ghi rõ."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào A03 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-10-29",
        "2026-10-30"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT009",
      "domain": "SD03",
      "title": "Kiểm độc lập hợp đồng và bộ kiểm",
      "parent_ids": [
        "R019"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "knowledge-base/schemas/knowledge_item_schema.yaml",
        "knowledge-base/knowledge-cards/_schema.json",
        "knowledge-base/faq/_schema.json",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/project/HOP_DONG_DU_LIEU.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT009_R019.md",
      "depends_on": [
        "AI-KT001"
      ],
      "business_dependencies": [
        "R018"
      ],
      "steps": [
        "Dùng dữ liệu tổng hợp thử trường thiếu, sai kiểu và tập rỗng. So đầu ra với yêu cầu đã khóa.",
        "Thử ID trùng, thẻ nháp, nguồn hết quyền và mâu thuẫn trạng thái. Lưu lỗi có bước lặp lại.",
        "Đối chiếu kết quả, phiên bản và phần chưa kiểm. Trả lỗi hoặc báo đủ điều kiện kỹ thuật theo phạm vi."
      ],
      "acceptance": [
        "Ca không đủ điều kiện không được báo đạt.",
        "Các trường hợp bị cấm bị chặn theo hợp đồng.",
        "Không dùng kết quả checker thay phê duyệt nguồn hoặc nội dung."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R018 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-10-31",
        "2026-11-03"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT010",
      "domain": "SD05",
      "title": "Đối chiếu và thiết kế API và bộ nạp thật",
      "parent_ids": [
        "R039",
        "A05",
        "R040",
        "R041",
        "R042",
        "R043"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "backend/DAC_TA_API_VA_NGU_CANH.md",
        "backend/app/main.py",
        "backend/app/services/release_preflight.py",
        "backend/tests/test_offline_api.py",
        "docs/research/plans/KE_HOACH_CON_LAI/KE_HOACH_NGUON_Y_KHOA_MARKDOWN.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD05_THIET_KE_VA_RANH_GIOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT010_SD05_THIET_KE.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu contracts và mã hiện có",
        "Thiết kế nhánh thiếu và ca lỗi",
        "Ghi điều kiện chuyển sang thực thi thật"
      ],
      "acceptance": [
        "Có phát hiện theo file thực",
        "Không cấp quyền bằng kết quả kiểm",
        "Mỗi parent có đối soát"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS review; quyết định phạm vi, quyền và chuyên môn thuộc người có thẩm quyền.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD05_THIET_KE_VA_RANH_GIOI.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_NGUON.json",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md"
      ],
      "phase": "preparation_completed",
      "planned_use_dates": [
        "2026-12-26",
        "2026-12-28",
        "2026-12-29",
        "2026-12-30",
        "2027-03-08",
        "2027-03-09",
        "2027-03-10",
        "2027-03-11",
        "2027-03-12",
        "2027-03-13",
        "2027-03-15",
        "2027-03-16",
        "2027-03-17",
        "2027-03-18",
        "2027-03-20",
        "2027-03-23",
        "2027-08-02",
        "2027-08-03",
        "2027-08-04",
        "2027-08-05"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT011",
      "domain": "SD05",
      "title": "Hoàn thiện đặc tả API và bộ nạp",
      "parent_ids": [
        "R039"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/research/plans/KE_HOACH_CON_LAI/KE_HOACH_NGUON_Y_KHOA_MARKDOWN.md",
        "backend/DAC_TA_API_VA_NGU_CANH.md",
        "backend/app/main.py",
        "backend/app/services/release_preflight.py",
        "backend/tests/test_offline_api.py"
      ],
      "outputs": [],
      "planned_outputs": [
        "backend/DAC_TA_API_VA_NGU_CANH.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT011_R039.md",
      "depends_on": [
        "AI-KT010"
      ],
      "business_dependencies": [
        "R019",
        "R026",
        "Q03",
        "G0",
        "SRC-07"
      ],
      "steps": [
        "Đọc hợp đồng API và mã ngoại tuyến. Liệt kê endpoint giữ nguyên, endpoint cần hoàn thiện, điều kiện mở và các lỗi phải tiếp tục từ chối.",
        "Mô tả bản kê, phiên bản, quyền, trạng thái duyệt và thu hồi. Chỉ rõ trường trích dẫn, cách so nguồn và phản ứng khi gói thiếu hoặc sai.",
        "Viết ví dụ tổng hợp cho đầu vào hợp lệ, sai định dạng, lỗi dịch vụ và nguồn bị rút. Gắn endpoint với schema, quyền, ca kiểm và kết quả mong đợi."
      ],
      "acceptance": [
        "Không coi health 200 là sẵn sàng hỏi đáp; mọi endpoint có phạm vi rõ.",
        "Không nạp gói DRAFT, hết quyền hoặc sai phiên bản; lỗi có hành vi đóng cụ thể.",
        "NCS giải thích được từng trạng thái; đầu vào mẫu không chứa dữ liệu người."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R019, R026, Q03, G0, SRC-07 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-12-26",
        "2026-12-28"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT012",
      "domain": "SD05",
      "title": "Viết bộ nạp và API theo lát cắt",
      "parent_ids": [
        "A05"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "backend/DAC_TA_API_VA_NGU_CANH.md",
        "backend/app/main.py",
        "backend/app/services/release_preflight.py",
        "backend/tests/test_offline_api.py"
      ],
      "outputs": [],
      "planned_outputs": [
        "backend/app/services/; backend/app/main.py; testing/scripts/"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT012_A05.md",
      "depends_on": [
        "AI-KT010"
      ],
      "business_dependencies": [
        "R039"
      ],
      "steps": [
        "Dựa R039, nháp mã kiểm quyền, phiên bản, trạng thái duyệt và thu hồi của gói tổng hợp. Thêm ca gói thiếu/sai; không nạp kho DRAFT thật.",
        "Nháp phần nối bộ nạp vào API, trả nguồn theo hợp đồng và đóng khi thiếu điều kiện. Giữ phân biệt health/readiness; dùng dữ liệu tổng hợp.",
        "Thêm ca thu hồi, hết thời gian chờ và phản hồi không hợp lệ. Tổng hợp phần mã thay đổi, cách chạy và giới hạn để NCS review."
      ],
      "acceptance": [
        "Gói không hợp lệ bị từ chối; chưa gọi dịch vụ ngoài.",
        "Mỗi phản hồi có trạng thái đúng hợp đồng; không giả nguồn trích dẫn.",
        "Lỗi đóng đúng; không có bí mật hoặc dịch vụ thật ngoài quyền."
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R039 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-12-29",
        "2026-12-30"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT013",
      "domain": "SD05",
      "title": "Review và hoàn thiện API thật",
      "parent_ids": [
        "R040"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "backend/DAC_TA_API_VA_NGU_CANH.md",
        "backend/app/main.py",
        "backend/app/services/release_preflight.py",
        "backend/tests/test_offline_api.py"
      ],
      "outputs": [],
      "planned_outputs": [
        "backend/DAC_TA_API_VA_NGU_CANH.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT013_R040.md",
      "depends_on": [
        "AI-KT010"
      ],
      "business_dependencies": [
        "A05",
        "R038"
      ],
      "steps": [
        "Đối chiếu mã A05 với R039. NCS ghi luồng từ nhận yêu cầu tới kiểm gói và phản hồi; đánh dấu đoạn chưa hiểu hoặc khác đặc tả.",
        "Kiểm từng trường quyền, phiên bản, trạng thái và thời hạn bằng gói tổng hợp. Sửa việc chấp nhận thiếu trường hoặc so sai; chạy lại ca liên quan.",
        "Đối chiếu ID trả về với nguồn trong gói. Sửa nguồn không tồn tại, lệch phiên bản và trích dẫn rỗng; ghi bằng chứng theo ca.",
        "Dùng đúng phiên bản quy tắc CVYK đã xét tại R034/R036 và bằng chứng kỹ thuật R038. Nối bộ lọc vào yêu cầu/phản hồi; kiểm từ chối và lỗi. Đổi nội dung chuyên môn phải xét lại; không tự tạo nhãn hoặc ngưỡng.",
        "Dùng dịch vụ giả để tạo lỗi kết nối, trả rỗng, sai cấu trúc và chậm. Sửa ánh xạ trạng thái; bảo đảm log không lặp dữ liệu đầu vào.",
        "Theo ngưỡng kỹ thuật đã chọn, thử kích thước, tần suất và giới hạn thời gian. Kiểm dự toán chi phí/cấu hình; ghi giới hạn chưa đo được.",
        "Thu hồi gói tổng hợp, thay phiên bản hoặc bỏ cấu hình cần thiết. Kiểm yêu cầu mới và dữ liệu lưu tạm; sửa đường dùng lại nguồn không hợp lệ.",
        "Chạy bộ kiểm thuộc phần đã sửa, đối chiếu kết quả với ma trận R039. Cập nhật hướng dẫn, lỗi còn mở và các điểm cần reviewer kiểm tiếp."
      ],
      "acceptance": [
        "NCS giải thích được đường chính và đường lỗi; không chỉ nhận test xanh.",
        "Gói thiếu/sai bị chặn đúng; không chỉnh gói thật để làm test đạt.",
        "Nguồn trả về thuộc gói hợp lệ; lỗi nguồn không biến thành câu trả lời thành công.",
        "Đúng phiên bản nội dung; thiếu bộ lọc hợp lệ phải đóng.",
        "Mọi lỗi có kết quả xác định; không rò bí mật hoặc dữ liệu thử qua log.",
        "Không tự tăng hạn mức để qua test; vượt giới hạn bị xử lý đúng.",
        "Nguồn bị rút không tiếp tục được dùng; readiness phản ánh đúng điều kiện.",
        "Đủ bằng chứng ca âm; NCS giải thích thay đổi; không tự nghiệm thu ứng dụng."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào A05, R038 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-03-08",
        "2027-03-09",
        "2027-03-10",
        "2027-03-11",
        "2027-03-12",
        "2027-03-13",
        "2027-03-15"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT014",
      "domain": "SD05",
      "title": "Kiểm hợp đồng dùng chung và lỗi camera",
      "parent_ids": [
        "R041"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "backend/DAC_TA_API_VA_NGU_CANH.md",
        "backend/app/main.py",
        "backend/app/services/release_preflight.py",
        "backend/tests/test_offline_api.py"
      ],
      "outputs": [],
      "planned_outputs": [
        "backend/DAC_TA_API_VA_NGU_CANH.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT014_R041.md",
      "depends_on": [
        "AI-KT010"
      ],
      "business_dependencies": [
        "R040"
      ],
      "steps": [
        "So tên trường và phiên bản với đặc tả camera. Thử trạng thái không đo được, chất lượng thấp và lỗi; góp ý API không yêu cầu video hoặc tọa độ."
      ],
      "acceptance": [
        "Kết quả thất bại không bị hiểu là số đo; chưa bật thiết bị hoặc thử người."
      ],
      "reviewer_roles": [
        "NCS2"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R040 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-03-16",
        "2027-03-17"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT015",
      "domain": "SD05",
      "title": "Review kỹ thuật API và bộ nạp",
      "parent_ids": [
        "R042"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "backend/DAC_TA_API_VA_NGU_CANH.md",
        "backend/app/main.py",
        "backend/app/services/release_preflight.py",
        "backend/tests/test_offline_api.py"
      ],
      "outputs": [],
      "planned_outputs": [
        "backend/DAC_TA_API_VA_NGU_CANH.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT015_R042.md",
      "depends_on": [
        "AI-KT010"
      ],
      "business_dependencies": [
        "R041"
      ],
      "steps": [
        "Đối chiếu hợp đồng với mã; thử sai vai, thiếu điều kiện, dữ liệu sai kiểu và quá lớn bằng ca tổng hợp. Ghi kết quả theo mã yêu cầu ASVS đã chọn.",
        "Tạo gọi dồn, dịch vụ chậm và lỗi trong phạm vi môi trường thử. Đối chiếu trạng thái trả về và log; kiểm không lộ khóa hoặc nội dung đầu vào.",
        "Thử gói sai phiên bản, hết quyền, thu hồi và nguồn không khớp. Tổng hợp lỗi, mức ảnh hưởng, người sửa và phần chưa kiểm để NCS tiếp nhận."
      ],
      "acceptance": [
        "Có kết quả từng ca; không suy kiểm mẫu thành toàn bộ ASVS.",
        "Giới hạn đúng cấu hình; lỗi được ghi đủ nhưng không vượt quyền dữ liệu.",
        "Các lỗi có bằng chứng tái hiện; không tự cho phép kết nối nguồn thật."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R041 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-03-18",
        "2027-03-20",
        "2027-03-23"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT016",
      "domain": "SD05",
      "title": "Nối gói tri thức thật và nhà cung cấp được phép",
      "parent_ids": [
        "R043"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "backend/DAC_TA_API_VA_NGU_CANH.md",
        "backend/app/main.py",
        "backend/app/services/release_preflight.py",
        "backend/tests/test_offline_api.py"
      ],
      "outputs": [],
      "planned_outputs": [
        "backend/DAC_TA_API_VA_NGU_CANH.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT016_R043.md",
      "depends_on": [
        "AI-KT010"
      ],
      "business_dependencies": [
        "R042",
        "GA"
      ],
      "steps": [
        "Kiểm đầu ra GA, bản kê, quyền, thời hạn và phiên bản gói. So phạm vi nhà cung cấp với Q03; thiếu điều kiện thì dừng và ghi phần chờ.",
        "Nạp đúng gói đã xét trong môi trường cho phép. Chạy ca tổng hợp, so trích dẫn và trạng thái bộ lọc; ghi phiên bản cấu hình và nguồn.",
        "Kiểm tài khoản, cấu hình và giới hạn đã được xác minh trước gọi. Thử kết nối tối thiểu bằng dữ liệu tổng hợp; ghi chi phí và lỗi kỹ thuật được phép lưu.",
        "Thử vô hiệu gói hoặc cấu hình trong vùng thử, mô phỏng lỗi dịch vụ. Kiểm khả năng đóng và phục hồi đúng bản; cập nhật hợp đồng và giới hạn."
      ],
      "acceptance": [
        "Đúng gói và thao tác được phép; không dùng nhãn duyệt của phiên bản khác.",
        "Không nhập dữ liệu người thật; mọi nguồn trả về khớp gói.",
        "Không có lời gọi trước đủ quyền; kết quả lỗi không bị báo là trả lời hợp lệ.",
        "Không dùng lại nguồn hết quyền; ghi rõ phần chưa sẵn sàng."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R042, GA trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-08-02",
        "2027-08-03",
        "2027-08-04",
        "2027-08-05"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT017",
      "domain": "SD06",
      "title": "Đối chiếu và thiết kế Giao diện thật và trợ năng",
      "parent_ids": [
        "A06",
        "R044",
        "R045",
        "R046",
        "R047"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "frontend/DAC_TA_GIAO_DIEN_VA_TRO_NANG.md",
        "frontend/src/App.vue",
        "frontend/tests/App.test.js",
        "frontend/README.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD06_THIET_KE_VA_RANH_GIOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT017_SD06_THIET_KE.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu contracts và mã hiện có",
        "Thiết kế nhánh thiếu và ca lỗi",
        "Ghi điều kiện chuyển sang thực thi thật"
      ],
      "acceptance": [
        "Có phát hiện theo file thực",
        "Không cấp quyền bằng kết quả kiểm",
        "Mỗi parent có đối soát"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS review; quyết định phạm vi, quyền và chuyên môn thuộc người có thẩm quyền.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD06_THIET_KE_VA_RANH_GIOI.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_NGUON.json",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md"
      ],
      "phase": "preparation_completed",
      "planned_use_dates": [
        "2027-03-16",
        "2027-03-24",
        "2027-03-25",
        "2027-03-26",
        "2027-03-27",
        "2027-03-29",
        "2027-03-30",
        "2027-03-31",
        "2027-04-01",
        "2027-04-03",
        "2027-04-06",
        "2027-04-07",
        "2027-04-08"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT018",
      "domain": "SD06",
      "title": "Hoàn thiện UI theo hợp đồng API",
      "parent_ids": [
        "A06"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "frontend/DAC_TA_GIAO_DIEN_VA_TRO_NANG.md",
        "frontend/src/App.vue",
        "frontend/tests/App.test.js",
        "frontend/README.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "frontend/DAC_TA_GIAO_DIEN_VA_TRO_NANG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT018_A06.md",
      "depends_on": [
        "AI-KT017"
      ],
      "business_dependencies": [
        "R040"
      ],
      "steps": [
        "Đọc hợp đồng API R040 và Vue hiện có. Bổ sung vùng hỏi, trả lời, nguồn và nhãn; giữ cỡ chữ, không thêm tính năng ngoài phạm vi.",
        "Mô tả chuyển trạng thái khi gửi, chờ, hủy, mất mạng và hệ thống đóng. Thêm kiểm UI theo thông điệp tổng hợp, nhãn và focus dự kiến."
      ],
      "acceptance": [
        "Hiển thị đúng schema và nguồn; chưa nhận mô phỏng là hỏi đáp thật.",
        "Không hiển thị lỗi thành câu trả lời; thông báo có thể tiếp cận."
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R040 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-03-16"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT019",
      "domain": "SD06",
      "title": "Tích hợp Vue với API và xử lý lỗi",
      "parent_ids": [
        "R044"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "frontend/DAC_TA_GIAO_DIEN_VA_TRO_NANG.md",
        "frontend/src/App.vue",
        "frontend/tests/App.test.js",
        "frontend/README.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "frontend/DAC_TA_GIAO_DIEN_VA_TRO_NANG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT019_R044.md",
      "depends_on": [
        "AI-KT017"
      ],
      "business_dependencies": [
        "A06",
        "R042"
      ],
      "steps": [
        "So A06 với Vue mô phỏng và hợp đồng API đã review. Ghi ánh xạ trường, trạng thái và điểm cần sửa trước nối endpoint.",
        "Nối endpoint trong môi trường được phép bằng dữ liệu tổng hợp. Kiểm nhập, gửi, phản hồi và trích dẫn; giữ rõ trạng thái mô phỏng/không sẵn sàng.",
        "Kiểm trạng thái khi phản hồi chậm, người dùng hủy hoặc bấm nhiều lần. Sửa thông báo và dữ liệu còn lại trên màn hình; ghi kết quả từng tình huống.",
        "Mô phỏng lỗi kết nối, 503 và phản hồi không hợp lệ. Kiểm lời báo, khả năng thử lại và phần nhập còn giữ theo đặc tả; không gửi lặp ngoài dự kiến.",
        "Rà bộ nhớ trình duyệt, lịch sử, cache và log theo quyền. Kiểm đường mở nguồn và nội dung lỗi; loại lưu trữ ngoài phạm vi đã quyết định.",
        "Chạy test UI hiện có cùng ca mới, dựng frontend và kiểm luồng hoàn chỉnh. Ghi bản API/UI, lỗi còn mở và hướng dẫn kiểm chéo."
      ],
      "acceptance": [
        "Không tự thêm trường hoặc diễn giải chuyên môn ngoài hợp đồng.",
        "Phản hồi đúng schema; lỗi không bị trình bày như kết quả thành công.",
        "Không hiện phản hồi cũ cho yêu cầu mới; hành động có trạng thái rõ.",
        "Mất mạng không làm lộ dữ liệu hoặc đánh dấu sẵn sàng sai.",
        "Không lưu tự động ngoài quyền; đường nguồn đúng phiên bản được phép.",
        "Test và bản dựng gắn mã hiện tại; không lấy kết quả 21 test cũ thay kiểm phần mới."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào A06, R042 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-03-24",
        "2027-03-25",
        "2027-03-26",
        "2027-03-27",
        "2027-03-29"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT020",
      "domain": "SD06",
      "title": "Kiểm chéo bàn phím và trạng thái",
      "parent_ids": [
        "R045"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "frontend/DAC_TA_GIAO_DIEN_VA_TRO_NANG.md",
        "frontend/src/App.vue",
        "frontend/tests/App.test.js",
        "frontend/README.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "frontend/DAC_TA_GIAO_DIEN_VA_TRO_NANG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT020_R045.md",
      "depends_on": [
        "AI-KT017"
      ],
      "business_dependencies": [
        "R044"
      ],
      "steps": [
        "Dùng bàn phím đi hết luồng nhập, gửi, nguồn và thông báo. Thử zoom theo tiêu chí đã chọn; ghi vị trí focus mất, bị che hoặc thao tác không tới được.",
        "Tạo mạng chậm/mất kết nối bằng phương tiện thử được phép. Kiểm chờ, thử lại và đọc nguồn; ghi phản hồi UI khác hợp đồng hoặc gây nhầm lẫn."
      ],
      "acceptance": [
        "Mỗi lỗi có bước tái hiện và màn hình; chưa tổ chức kiểm người dùng thật.",
        "Phân biệt lỗi kỹ thuật với kết quả chuyên môn; có đầu vào thử để kiểm lại."
      ],
      "reviewer_roles": [
        "NCS2"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R044 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-03-30",
        "2027-03-31",
        "2027-04-01"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT021",
      "domain": "SD06",
      "title": "Kiểm trợ năng còn thiếu trên bản thật",
      "parent_ids": [
        "R046"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "frontend/DAC_TA_GIAO_DIEN_VA_TRO_NANG.md",
        "frontend/src/App.vue",
        "frontend/tests/App.test.js",
        "frontend/README.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "frontend/DAC_TA_GIAO_DIEN_VA_TRO_NANG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT021_R046.md",
      "depends_on": [
        "AI-KT017"
      ],
      "business_dependencies": [
        "R045"
      ],
      "steps": [
        "Ghi phiên bản trình duyệt/NVDA. Kiểm tên điều khiển, thứ tự focus, thông báo chờ/lỗi và đọc nguồn trên toàn luồng; lưu kết quả theo tiêu chí.",
        "Theo tiêu chí đã chọn, kiểm bố cục khi zoom, độ tương phản và chế độ High Contrast. Tổng hợp lỗi chặn thao tác, mức ưu tiên và giới hạn chưa kiểm."
      ],
      "acceptance": [
        "Không chỉ dựa vào công cụ tự động; lỗi có bước và phạm vi rõ.",
        "Không tự tuyên bố đạt WCAG AA toàn hệ thống; gửi danh sách sửa cụ thể."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R045 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-04-03",
        "2027-04-06"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT022",
      "domain": "SD06",
      "title": "Sửa lỗi giao diện và trợ năng",
      "parent_ids": [
        "R047"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "frontend/DAC_TA_GIAO_DIEN_VA_TRO_NANG.md",
        "frontend/src/App.vue",
        "frontend/tests/App.test.js",
        "frontend/README.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "frontend/DAC_TA_GIAO_DIEN_VA_TRO_NANG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT022_R047.md",
      "depends_on": [
        "AI-KT017"
      ],
      "business_dependencies": [
        "R046"
      ],
      "steps": [
        "Đọc R045/R046, ưu tiên lỗi bàn phím, focus và trạng thái gây hiểu nhầm. Sửa trong phạm vi UI; thêm ca tái hiện để tránh lỗi trở lại.",
        "Chạy lại luồng từng lỗi cùng ca liên quan, gồm zoom và chế độ hiển thị bị ảnh hưởng. Dựng bản mới; ghi lỗi đạt, chưa đạt và bản bàn giao."
      ],
      "acceptance": [
        "Mỗi sửa gắn lỗi đã báo; không đổi nội dung chuyên môn chưa duyệt.",
        "Bằng chứng gắn đúng bản mới; lỗi chưa xử lý không bị xóa khỏi báo cáo."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R046 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-04-07",
        "2027-04-08"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT023",
      "domain": "SD07",
      "title": "Đối chiếu và thiết kế Bộ lọc an toàn có nguồn",
      "parent_ids": [
        "R033",
        "A07",
        "R035",
        "R037",
        "R038"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "safety/W1_D05_SafetyPolicy_v0.1.md",
        "safety/W1_D05_SafetyTests_v0.1.yaml",
        "safety/risk_register.md",
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD07_THIET_KE_VA_RANH_GIOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT023_SD07_THIET_KE.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu contracts và mã hiện có",
        "Thiết kế nhánh thiếu và ca lỗi",
        "Ghi điều kiện chuyển sang thực thi thật"
      ],
      "acceptance": [
        "Có phát hiện theo file thực",
        "Không cấp quyền bằng kết quả kiểm",
        "Mỗi parent có đối soát"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS review; quyết định phạm vi, quyền và chuyên môn thuộc người có thẩm quyền.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD07_THIET_KE_VA_RANH_GIOI.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_NGUON.json",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md"
      ],
      "phase": "preparation_completed",
      "planned_use_dates": [
        "2027-01-20",
        "2027-01-21",
        "2027-01-22",
        "2027-02-15",
        "2027-02-16",
        "2027-02-17",
        "2027-02-18",
        "2027-02-19",
        "2027-03-01",
        "2027-03-02",
        "2027-03-04",
        "2027-03-06"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT024",
      "domain": "SD07",
      "title": "Cụ thể hóa bộ lọc an toàn từ lô có nguồn",
      "parent_ids": [
        "R033"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "safety/W1_D05_SafetyPolicy_v0.1.md",
        "safety/W1_D05_SafetyTests_v0.1.yaml",
        "safety/risk_register.md",
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "safety/DAC_TA_BO_LOC_AN_TOAN.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT024_R033.md",
      "depends_on": [
        "AI-KT023"
      ],
      "business_dependencies": [
        "K01D"
      ],
      "steps": [
        "Từ nguồn đã xét, liệt kê cờ đỏ, thiếu thông tin và câu hỏi ngoài phạm vi. Gắn điều kiện kích hoạt với phản hồi dự kiến.",
        "Liệt kê kiểm tra nguồn, phiên bản, giới hạn và nội dung không được phép. Xác định phản hồi khi thiếu, hết hiệu lực hoặc mâu thuẫn nguồn.",
        "Lập bảng yêu cầu, nguồn, quy tắc và ca phát triển. Thêm lỗi dịch vụ và hết thời gian chờ. Ghi câu hỏi gửi CVYK."
      ],
      "acceptance": [
        "Mỗi nhánh có nguồn; không tự đặt ngưỡng y khoa.",
        "Mọi đường lỗi có hành vi xác định và không tạo khẳng định thiếu căn cứ.",
        "R034 nhận đúng phiên bản và câu hỏi theo từng nhánh."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào K01D trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-01-20",
        "2027-01-21",
        "2027-01-22"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT026",
      "domain": "SD07",
      "title": "Viết nháp mã bộ lọc và ca kiểm",
      "parent_ids": [
        "A07"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "safety/W1_D05_SafetyPolicy_v0.1.md",
        "safety/W1_D05_SafetyTests_v0.1.yaml",
        "safety/risk_register.md",
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "backend/app/services/; safety/; testing/scripts/"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT026_A07.md",
      "depends_on": [
        "AI-KT023"
      ],
      "business_dependencies": [
        "R034",
        "R019"
      ],
      "steps": [
        "Dùng quy tắc và phản hồi đã có để tạo nháp kiểm trước và sau xử lý. Gắn nhánh với quy tắc; không tạo nội dung y khoa.",
        "Tạo ca thiếu nguồn, mâu thuẫn, ngoài phạm vi và lỗi dịch vụ. Nêu kết quả dự kiến. Không dùng bộ đánh giá cuối."
      ],
      "acceptance": [
        "Nháp được bàn giao để NCS đọc hiểu và kiểm; AI không tự nghiệm thu hoặc phê duyệt.",
        "Nháp được bàn giao để NCS đọc hiểu và kiểm; AI không tự nghiệm thu hoặc phê duyệt."
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R034, R019 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-02-15"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT027",
      "domain": "SD07",
      "title": "Đọc hiểu, sửa và thử mã bộ lọc",
      "parent_ids": [
        "R035"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "safety/W1_D05_SafetyPolicy_v0.1.md",
        "safety/W1_D05_SafetyTests_v0.1.yaml",
        "safety/risk_register.md",
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "safety/DAC_TA_BO_LOC_AN_TOAN.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT027_R035.md",
      "depends_on": [
        "AI-KT023"
      ],
      "business_dependencies": [
        "A07"
      ],
      "steps": [
        "NCS đọc mã AI, giải thích các nhánh và sửa theo R034. Thử đầu vào thiếu hoặc ngoài phạm vi bằng dữ liệu giả.",
        "Kiểm nguồn, phiên bản và nội dung phản hồi. Cài hành vi thiếu nguồn, mâu thuẫn và lỗi nhà cung cấp theo đặc tả.",
        "Chạy ca phát triển bằng dữ liệu giả. So kết quả dự kiến và thực tế; sửa lỗi mã và giữ ca hồi quy.",
        "Kiểm đường gọi trước và sau xử lý. Thử hết thời gian chờ và thiếu nguồn. Bàn giao phiên bản mã, quy tắc và kết quả."
      ],
      "acceptance": [
        "NCS giải thích được mã; hành vi khớp quy tắc đã xét.",
        "Lỗi dịch vụ không làm bỏ qua bộ lọc.",
        "Lỗi tái hiện được; lỗi chưa sửa có người nhận.",
        "Không còn đường gọi dự kiến bỏ qua kiểm tra bắt buộc."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào A07 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-02-16",
        "2027-02-17",
        "2027-02-18",
        "2027-02-19"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT029",
      "domain": "SD07",
      "title": "Sửa phản hồi và khóa phiên bản quy tắc",
      "parent_ids": [
        "R037"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "safety/W1_D05_SafetyPolicy_v0.1.md",
        "safety/W1_D05_SafetyTests_v0.1.yaml",
        "safety/risk_register.md",
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "safety/DAC_TA_BO_LOC_AN_TOAN.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT029_R037.md",
      "depends_on": [
        "AI-KT023"
      ],
      "business_dependencies": [
        "R036"
      ],
      "steps": [
        "Nối từng ý R036 với mã và nội dung. Sửa đúng phạm vi. Ghi phần chưa giải quyết và câu hỏi cần xét lại.",
        "Chạy ca liên quan và ca an toàn cũ. Ghi phiên bản quy tắc, mã và nguồn. Chặn bàn giao khi còn lỗi nghiêm trọng."
      ],
      "acceptance": [
        "Mỗi nhận xét có trạng thái và phiên bản.",
        "Không đổi nhãn hoặc loại ca để giấu lỗi."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R036 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-03-01",
        "2027-03-02"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT030",
      "domain": "SD07",
      "title": "Kiểm đường lỗi và đường bỏ qua bộ lọc",
      "parent_ids": [
        "R038"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "safety/W1_D05_SafetyPolicy_v0.1.md",
        "safety/W1_D05_SafetyTests_v0.1.yaml",
        "safety/risk_register.md",
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "safety/DAC_TA_BO_LOC_AN_TOAN.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT030_R038.md",
      "depends_on": [
        "AI-KT023"
      ],
      "business_dependencies": [
        "R037"
      ],
      "steps": [
        "Người review kỹ thuật thử thiếu, hết hiệu lực và mâu thuẫn nguồn. Thử lỗi nhà cung cấp và hết thời gian chờ. Lưu phản hồi.",
        "Kiểm đường gọi API và đầu vào cố tình gây sai. Đối chiếu quy tắc; ghi lỗi, bước tái hiện và người nhận sửa."
      ],
      "acceptance": [
        "Các lỗi không trả thông tin y khoa thiếu căn cứ.",
        "Không kết luận đạt khi còn đường bỏ qua kiểm bắt buộc."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R037 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-03-04",
        "2027-03-06"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT031",
      "domain": "SD08",
      "title": "Đối chiếu và thiết kế Camera một chỉ số từ thư viện",
      "parent_ids": [
        "A08",
        "C08",
        "C09",
        "C10",
        "C16",
        "A08I",
        "C18",
        "C19",
        "C20"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "docs/research/plans/CAMERA_MODULE_TASK_BOARD.md",
        "knowledge-base/evidence-matrix/source_registry.csv"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD08_THIET_KE_VA_RANH_GIOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT031_SD08_THIET_KE.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu contracts và mã hiện có",
        "Thiết kế nhánh thiếu và ca lỗi",
        "Ghi điều kiện chuyển sang thực thi thật"
      ],
      "acceptance": [
        "Có phát hiện theo file thực",
        "Không cấp quyền bằng kết quả kiểm",
        "Mỗi parent có đối soát"
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2"
      ],
      "human_boundary": "NCS review; quyết định phạm vi, quyền và chuyên môn thuộc người có thẩm quyền.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD08_THIET_KE_VA_RANH_GIOI.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_NGUON.json",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md"
      ],
      "phase": "preparation_completed",
      "planned_use_dates": [
        "2027-04-19",
        "2027-04-20",
        "2027-04-21",
        "2027-04-22",
        "2027-04-23",
        "2027-04-24",
        "2027-04-26",
        "2027-04-27",
        "2027-04-28",
        "2027-04-29",
        "2027-05-03",
        "2027-05-04",
        "2027-05-05",
        "2027-05-06",
        "2027-05-07",
        "2027-05-08",
        "2027-05-11",
        "2027-05-13",
        "2027-05-14",
        "2027-05-15",
        "2027-05-17",
        "2028-03-03",
        "2028-03-04",
        "2028-03-18",
        "2028-03-20",
        "2028-03-21",
        "2028-03-22",
        "2028-03-23",
        "2028-03-24",
        "2028-03-25",
        "2028-03-27",
        "2028-03-28",
        "2028-03-30",
        "2028-04-01"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT033",
      "domain": "SD08",
      "title": "Hỗ trợ mã POC camera một chỉ số",
      "parent_ids": [
        "A08"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "docs/research/plans/CAMERA_MODULE_TASK_BOARD.md",
        "knowledge-base/evidence-matrix/source_registry.csv"
      ],
      "outputs": [],
      "planned_outputs": [
        "frontend/src/camera/; testing/camera/"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT033_A08.md",
      "depends_on": [
        "AI-KT031"
      ],
      "business_dependencies": [
        "GCA"
      ],
      "steps": [
        "Dùng protocol đã xét để tạo trạng thái quyền, chuẩn bị, đo, dừng và không đo được. Chỉ xử lý tại thiết bị.",
        "Tạo mã theo sự kiện, đơn vị và hợp đồng đã đặc tả. Thêm dữ liệu giả biết trước kết quả. Không thêm ngưỡng y khoa.",
        "Tạo ca từ chối quyền, mất hình, dừng, thiếu dữ liệu và xử lý muộn. Nêu cách kiểm mạng và lưu trữ. Không lưu ảnh, video hoặc khung xương."
      ],
      "acceptance": [
        "Nháp được bàn giao để NCS đọc hiểu và kiểm; AI không tự nghiệm thu hoặc phê duyệt.",
        "Nháp được bàn giao để NCS đọc hiểu và kiểm; AI không tự nghiệm thu hoặc phê duyệt.",
        "Nháp được bàn giao để NCS đọc hiểu và kiểm; AI không tự nghiệm thu hoặc phê duyệt."
      ],
      "reviewer_roles": [
        "NCS2",
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào GCA trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-04-19",
        "2027-04-20"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT034",
      "domain": "SD08",
      "title": "T14b: thực hiện và kiểm POC trên dữ liệu được phép",
      "parent_ids": [
        "C08"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "docs/research/plans/CAMERA_MODULE_TASK_BOARD.md",
        "knowledge-base/evidence-matrix/source_registry.csv"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/research/plans/DAC_TA_CAMERA.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT034_C08.md",
      "depends_on": [
        "AI-KT031"
      ],
      "business_dependencies": [
        "A08"
      ],
      "steps": [
        "NCS2 đọc mã AI, đối chiếu protocol và giải thích cấu trúc. Khóa phiên bản thư viện, mô hình và cấu hình thử được phép.",
        "Chuẩn bị ca bắt đầu, kết thúc, thiếu điểm và thứ tự sai. Ghi kết quả mong đợi từ đặc tả kỹ thuật.",
        "Cài nhận biết sự kiện theo protocol đã xét. Thử dữ liệu giả và ghi trường hợp không xác định được.",
        "Cài phép tính đã đặc tả. Thử số biết trước, thời điểm sai và thiếu dữ liệu. Ghi phiên bản kết quả.",
        "Cài điều kiện đủ quan sát. Thử mất điểm, góc sai và thiếu khung bằng dữ liệu được phép.",
        "Thử cấp, từ chối và thu hồi quyền hoặc chuyển trang. Dừng luồng hình ảnh đúng thời điểm.",
        "Thử nút dừng, lỗi và xử lý bất đồng bộ kết thúc muộn. Không cho kết quả muộn xuất hiện sau dừng.",
        "Đọc mã mạng, bộ nhớ và lưu trữ. Dùng dữ liệu giả xác nhận không gửi hoặc lưu ảnh, video hay khung xương.",
        "Đo hiệu năng bằng dữ liệu giả trên cấu hình được phép. Ghi lỗi, giới hạn bộ nhớ và thiết bị không hỗ trợ.",
        "Chạy ca đã có, ghi phiên bản và lỗi còn mở. Nối yêu cầu với kết quả rồi bàn giao C09 kiểm độc lập."
      ],
      "acceptance": [
        "NCS2 giải thích được mã; chưa thử người khi thiếu GC-C.",
        "Dữ liệu giả không chứng minh độ chính xác trên người.",
        "Không thêm chỉ số khác ngoài ứng viên được chọn.",
        "Không trả số khi đầu vào thiếu; đơn vị luôn xác định.",
        "Hình ảnh kém không được biến thành kết quả hợp lệ.",
        "Không tiếp tục xử lý sau rút quyền.",
        "Mỗi đường dừng xóa dữ liệu tạm và không tự tiếp tục.",
        "Chỉ dữ liệu được phép mới có đầu ra; chưa tự bật lưu chỉ số.",
        "Hiệu năng dữ liệu giả không là bằng chứng hiệu lực y khoa.",
        "POC có bằng chứng kỹ thuật; thử người vẫn cần GC-C."
      ],
      "reviewer_roles": [
        "NCS2"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào A08 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-04-21",
        "2027-04-22",
        "2027-04-23",
        "2027-04-24",
        "2027-04-26",
        "2027-04-27",
        "2027-04-28",
        "2027-04-29",
        "2027-05-03",
        "2027-05-04",
        "2027-05-05",
        "2027-05-06",
        "2027-05-07",
        "2027-05-08"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT035",
      "domain": "SD08",
      "title": "Kiểm riêng tư và đường lỗi camera",
      "parent_ids": [
        "C09"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "docs/research/plans/CAMERA_MODULE_TASK_BOARD.md",
        "knowledge-base/evidence-matrix/source_registry.csv"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/research/plans/DAC_TA_CAMERA.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT035_C09.md",
      "depends_on": [
        "AI-KT031"
      ],
      "business_dependencies": [
        "C08"
      ],
      "steps": [
        "Người review kiểm mạng, bộ nhớ, lưu trữ, cấp và rút quyền. Ghi bằng chứng theo cấu hình và mã POC.",
        "Thử mất hình, rời trang, dừng, lỗi thiết bị và kết quả muộn. Kiểm không đo được; ghi lỗi tái hiện được."
      ],
      "acceptance": [
        "Không gửi hoặc lưu ảnh, video, khung xương ngoài phạm vi.",
        "Lỗi nghiêm trọng có người xử lý trước khóa cấu hình."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào C08 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-05-11",
        "2027-05-13"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT036",
      "domain": "SD08",
      "title": "Sửa POC và khóa cấu hình thử",
      "parent_ids": [
        "C10"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "docs/research/plans/CAMERA_MODULE_TASK_BOARD.md",
        "knowledge-base/evidence-matrix/source_registry.csv"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/research/plans/DAC_TA_CAMERA.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT036_C10.md",
      "depends_on": [
        "AI-KT031"
      ],
      "business_dependencies": [
        "C09"
      ],
      "steps": [
        "Đối chiếu từng lỗi C09 với mã. Sửa, ghi phần chưa đủ căn cứ hoặc chưa thể xử lý.",
        "Chạy hồi quy ca lỗi và ca cũ. Ghi phiên bản mã, mô hình, thiết bị và protocol cho GC-C."
      ],
      "acceptance": [
        "Không đóng lỗi chỉ bằng mô tả; có bằng chứng sửa.",
        "Thay đổi ảnh hưởng protocol hoặc riêng tư phải vào hồ sơ xin phép."
      ],
      "reviewer_roles": [
        "NCS2"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào C09 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-05-14",
        "2027-05-15",
        "2027-05-17"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT044",
      "domain": "SD08",
      "title": "Kiểm chéo truy vết và phép tính",
      "parent_ids": [
        "C16"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "docs/research/plans/CAMERA_MODULE_TASK_BOARD.md",
        "knowledge-base/evidence-matrix/source_registry.csv"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/research/plans/DAC_TA_CAMERA.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT044_C16.md",
      "depends_on": [
        "AI-KT031"
      ],
      "business_dependencies": [
        "C15"
      ],
      "steps": [
        "NCS1 kiểm độc lập phép tính từ dữ liệu được quyền xem. So sai số, không đo được và thiếu; ghi bất đồng.",
        "Nối kết quả với mã, thiết bị, protocol, nguồn và đồng ý. Ghi phần cần NCS2 hoặc CVYK giải quyết trước GCB."
      ],
      "acceptance": [
        "Chênh lệch được truy nguyên; không sửa dữ liệu để khớp kỳ vọng.",
        "Không âm thầm đổi phương pháp sau khi biết kết quả."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào C15 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2028-03-03",
        "2028-03-04"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT047",
      "domain": "SD08",
      "title": "Hỗ trợ tích hợp kết quả camera",
      "parent_ids": [
        "A08I"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "docs/research/plans/CAMERA_MODULE_TASK_BOARD.md",
        "knowledge-base/evidence-matrix/source_registry.csv"
      ],
      "outputs": [],
      "planned_outputs": [
        "frontend/src/camera/; backend/app/; testing/camera/"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT047_A08I.md",
      "depends_on": [
        "AI-KT031"
      ],
      "business_dependencies": [
        "GCB",
        "R102"
      ],
      "steps": [
        "Nối chỉ số, phiên bản và nội dung có nguồn theo hợp đồng. Gồm thiếu bằng chứng, không đo được và dừng. Không gửi video hoặc tự bật lưu chỉ số."
      ],
      "acceptance": [
        "Nháp được bàn giao để NCS đọc hiểu và kiểm; AI không tự nghiệm thu hoặc phê duyệt."
      ],
      "reviewer_roles": [
        "NCS2",
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào GCB, R102 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2028-03-18"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT048",
      "domain": "SD08",
      "title": "T19b: tích hợp nhánh camera",
      "parent_ids": [
        "C18"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "docs/research/plans/CAMERA_MODULE_TASK_BOARD.md",
        "knowledge-base/evidence-matrix/source_registry.csv"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/research/plans/DAC_TA_CAMERA.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT048_C18.md",
      "depends_on": [
        "AI-KT031"
      ],
      "business_dependencies": [
        "A08I"
      ],
      "steps": [
        "NCS2 kiểm mã AI, cấu trúc chỉ số và phiên bản. Nối quyền lưu với quyết định thực; thiếu quyền thì không lưu.",
        "Cài đủ dữ liệu, không đo được và dừng. Hiện câu Camera chỉ thấy cử động bên ngoài. Dùng nội dung có nguồn đã xét.",
        "Kiểm API nhận đúng chỉ số được phép và phiên bản. Thử dữ liệu sai, thiếu quyền hoặc nguồn hết hiệu lực.",
        "Thử thu hồi nguồn hoặc protocol, tắt camera và lỗi riêng tư. Kiểm nhánh chữ vẫn hoạt động đúng phạm vi."
      ],
      "acceptance": [
        "Dữ liệu gửi lên không có ảnh, video hoặc khung xương.",
        "Không tạo chẩn đoán hoặc suy nguy cơ từ chỉ số.",
        "Xử lý tại thiết bị không tự cho phép lưu chỉ số.",
        "Camera bị chặn khi mất hiệu lực; nhánh chữ không phụ thuộc camera."
      ],
      "reviewer_roles": [
        "NCS2"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào A08I trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2028-03-20",
        "2028-03-21",
        "2028-03-22",
        "2028-03-23",
        "2028-03-24",
        "2028-03-25"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT049",
      "domain": "SD08",
      "title": "Kiểm tích hợp hai nhánh và gói tri thức",
      "parent_ids": [
        "C19"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "docs/research/plans/CAMERA_MODULE_TASK_BOARD.md",
        "knowledge-base/evidence-matrix/source_registry.csv"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/research/plans/DAC_TA_CAMERA.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT049_C19.md",
      "depends_on": [
        "AI-KT031"
      ],
      "business_dependencies": [
        "C18"
      ],
      "steps": [
        "NCS1 so bản kê tri thức, bộ lọc và camera. Kiểm lời giải thích, nguồn, protocol và dữ liệu lưu theo phiên bản.",
        "Tắt hoặc chặn camera rồi chạy ca chữ cũ. Thử nguồn bị thu hồi, thiếu quyền và không đo được. Ghi ảnh hưởng lên cổng hiện hành."
      ],
      "acceptance": [
        "Nội dung chưa xét không lọt qua đường camera.",
        "Thay đổi quan trọng được chuyển mở lại cổng đúng thẩm quyền."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào C18 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2028-03-27",
        "2028-03-28"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT050",
      "domain": "SD08",
      "title": "Kiểm bản kết hợp và riêng tư",
      "parent_ids": [
        "C20"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "docs/research/plans/CAMERA_MODULE_TASK_BOARD.md",
        "knowledge-base/evidence-matrix/source_registry.csv"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/research/plans/DAC_TA_CAMERA.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT050_C20.md",
      "depends_on": [
        "AI-KT031"
      ],
      "business_dependencies": [
        "C19"
      ],
      "steps": [
        "Người review kiểm mạng, quyền, API và lưu trữ. Thử từ chối, rút quyền, lỗi và dừng.",
        "Chạy ca hợp đồng, thiết bị, tài nguyên và nhánh chữ độc lập. Ghi phiên bản, lỗi và tác động phát hành."
      ],
      "acceptance": [
        "Không dựa riêng vào kiểm POC trước tích hợp; dữ liệu không vượt quyền.",
        "Lỗi có bằng chứng và người nhận; không tự cấp quyết định cổng."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào C19 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2028-03-30",
        "2028-04-01"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT055",
      "domain": "SD09",
      "title": "Đối chiếu và thiết kế Môi trường tái lập và phụ thuộc",
      "parent_ids": [
        "R010",
        "A09",
        "R011",
        "R012"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "docs/guides/MOI_TRUONG_VA_DONG_GOP.md",
        "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_3.md",
        "tools/KIEM_TRA_MOI_TRUONG_SACH.ps1",
        "backend/requirements.txt"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD09_THIET_KE_VA_RANH_GIOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT055_SD09_THIET_KE.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu contracts và mã hiện có",
        "Thiết kế nhánh thiếu và ca lỗi",
        "Ghi điều kiện chuyển sang thực thi thật"
      ],
      "acceptance": [
        "Có phát hiện theo file thực",
        "Không cấp quyền bằng kết quả kiểm",
        "Mỗi parent có đối soát"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS review; quyết định phạm vi, quyền và chuyên môn thuộc người có thẩm quyền.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD09_THIET_KE_VA_RANH_GIOI.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_NGUON.json",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md"
      ],
      "phase": "preparation_completed",
      "planned_use_dates": [
        "2026-10-02",
        "2026-10-03",
        "2026-10-05",
        "2026-10-06",
        "2026-10-08",
        "2026-10-09"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT056",
      "domain": "SD09",
      "title": "Kiểm kê Python/Node và môi trường hiện tại",
      "parent_ids": [
        "R010"
      ],
      "mode": "READY",
      "status": "AI_CHECKED",
      "inputs": [
        "docs/guides/MOI_TRUONG_VA_DONG_GOP.md",
        "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_3.md",
        "tools/KIEM_TRA_MOI_TRUONG_SACH.ps1",
        "backend/requirements.txt"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/PHIEN_BAN_KIEM.json",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD09_THIET_KE_VA_RANH_GIOI.md"
      ],
      "planned_outputs": [
        "docs/guides/MOI_TRUONG_VA_DONG_GOP.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT056_R010.md",
      "depends_on": [
        "AI-KT055"
      ],
      "business_dependencies": [
        "R001"
      ],
      "steps": [
        "Quan sát Python và Node",
        "Thử venv hiện có và ghi lỗi",
        "Kiểm môi trường TEMP"
      ],
      "acceptance": [
        "Phiên bản và lỗi thực được ghi"
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Đã làm kiểm kê. NCS/OPS còn chọn phiên bản hỗ trợ; chưa hoàn thành toàn R010.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md"
      ],
      "phase": "preparation_completed",
      "planned_use_dates": [
        "2026-10-02",
        "2026-10-03"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT057",
      "domain": "SD09",
      "title": "Khóa phụ thuộc và cập nhật hướng dẫn dựng",
      "parent_ids": [
        "A09"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/guides/MOI_TRUONG_VA_DONG_GOP.md",
        "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_3.md",
        "tools/KIEM_TRA_MOI_TRUONG_SACH.ps1",
        "backend/requirements.txt"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/guides/MOI_TRUONG_VA_DONG_GOP.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT057_A09.md",
      "depends_on": [
        "AI-KT055"
      ],
      "business_dependencies": [
        "R010"
      ],
      "steps": [
        "Đọc bản kê R010, pyproject và lock frontend. Đề xuất khóa phụ thuộc, nguồn gói, giấy phép và lệnh dựng; không tự cài dịch vụ tùy chọn."
      ],
      "acceptance": [
        "Lệnh không phụ thuộc đường dẫn máy cá nhân; phần chưa kiểm được ghi rõ."
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R010 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-10-05"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT058",
      "domain": "SD09",
      "title": "Kiểm dựng độc lập theo phiên bản đã chọn",
      "parent_ids": [
        "R011"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/guides/MOI_TRUONG_VA_DONG_GOP.md",
        "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_3.md",
        "tools/KIEM_TRA_MOI_TRUONG_SACH.ps1",
        "backend/requirements.txt"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/guides/MOI_TRUONG_VA_DONG_GOP.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT058_R011.md",
      "depends_on": [
        "AI-KT055"
      ],
      "business_dependencies": [
        "A09"
      ],
      "steps": [
        "Nhận bản khóa A09; ghi hệ điều hành và trình thông dịch. Làm theo hướng dẫn trong môi trường thử riêng; lưu lệnh cài và lỗi, không dùng bộ nhớ của người viết.",
        "Chạy các kiểm thử thuộc app được chọn và dựng frontend. Đối chiếu log với hướng dẫn; lập danh sách sai khác môi trường và bước cần sửa."
      ],
      "acceptance": [
        "Nêu rõ gói, phiên bản, nguồn cài và bước thất bại nếu có.",
        "Kết quả gắn môi trường cụ thể; không nhận kết quả máy khác làm bằng chứng máy này."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào A09 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-10-06",
        "2026-10-08"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT059",
      "domain": "SD09",
      "title": "Sửa hướng dẫn và xác nhận tái lập",
      "parent_ids": [
        "R012"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/guides/MOI_TRUONG_VA_DONG_GOP.md",
        "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_3.md",
        "tools/KIEM_TRA_MOI_TRUONG_SACH.ps1",
        "backend/requirements.txt"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/guides/MOI_TRUONG_VA_DONG_GOP.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT059_R012.md",
      "depends_on": [
        "AI-KT055"
      ],
      "business_dependencies": [
        "R011"
      ],
      "steps": [
        "Đọc biên bản R011, sửa từng lệnh hoặc điều kiện thiếu. Chạy lại các bước bị ảnh hưởng; ghi liên kết từ lỗi tới bản sửa và kết quả."
      ],
      "acceptance": [
        "Mỗi lỗi được xử lý hoặc giữ trạng thái chờ; không ghi tái lập thành công khi còn thiếu bằng chứng."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R011 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-10-09"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT060",
      "domain": "SD10",
      "title": "Đối chiếu và thiết kế Quyền truy cập và bảo mật",
      "parent_ids": [
        "R023",
        "R025",
        "R026"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "docs/legal/W1_D04_DataMinimizationMap.md",
        "backend/DAC_TA_API_VA_NGU_CANH.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD10_THIET_KE_VA_RANH_GIOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT060_SD10_THIET_KE.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu contracts và mã hiện có",
        "Thiết kế nhánh thiếu và ca lỗi",
        "Ghi điều kiện chuyển sang thực thi thật"
      ],
      "acceptance": [
        "Có phát hiện theo file thực",
        "Không cấp quyền bằng kết quả kiểm",
        "Mỗi parent có đối soát"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS review; quyết định phạm vi, quyền và chuyên môn thuộc người có thẩm quyền.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD10_THIET_KE_VA_RANH_GIOI.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_NGUON.json",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md"
      ],
      "phase": "preparation_completed",
      "planned_use_dates": [
        "2026-11-04",
        "2026-11-05",
        "2026-11-06",
        "2026-12-16",
        "2026-12-18",
        "2026-12-19",
        "2026-12-22"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT061",
      "domain": "SD10",
      "title": "Thiết kế bảo mật và luồng dữ liệu",
      "parent_ids": [
        "R023"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "docs/legal/W1_D04_DataMinimizationMap.md",
        "backend/DAC_TA_API_VA_NGU_CANH.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/THIET_KE_BAO_MAT_VA_CAU_HINH.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT061_R023.md",
      "depends_on": [
        "AI-KT060"
      ],
      "business_dependencies": [
        "R019"
      ],
      "steps": [
        "Theo thiết kế đã chốt, liệt kê trình duyệt, API, kho tri thức, DB và dịch vụ ngoài. Ghi loại dữ liệu, nơi đi và điều kiện truyền trên từng đường.",
        "Xét truy cập trái quyền, lộ đầu vào qua log, nội dung hết quyền và yêu cầu quá lớn. Gắn từng tình huống với điểm chặn, trạng thái lỗi và người xử lý.",
        "Đọc ASVS đúng phiên bản, chọn yêu cầu phù hợp các luồng đã vẽ. Ghi mã, lý do áp dụng hoặc loại trừ, đầu vào thử và kết quả mong đợi."
      ],
      "acceptance": [
        "Không có đường truyền thiếu chủ thể, mục đích hoặc điều kiện quyền.",
        "Mỗi rủi ro có biện pháp cụ thể; không tự sửa ngưỡng y khoa.",
        "Yêu cầu truy vết được tới phép kiểm; không tuyên bố đạt toàn bộ ASVS."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R019 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-11-04",
        "2026-11-05",
        "2026-11-06"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT063",
      "domain": "SD10",
      "title": "Thiết kế cấu hình và quyền vận hành",
      "parent_ids": [
        "R025"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "docs/legal/W1_D04_DataMinimizationMap.md",
        "backend/DAC_TA_API_VA_NGU_CANH.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/THIET_KE_BAO_MAT_VA_CAU_HINH.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT063_R025.md",
      "depends_on": [
        "AI-KT060"
      ],
      "business_dependencies": [
        "R024"
      ],
      "steps": [
        "Tách tài khoản app, DB, quản trị và sao lưu theo quyền cần thiết. Lập cấu hình mẫu chỉ có tên biến và giá trị giả; chỉ rõ nơi giữ khóa thật.",
        "Ghi cổng được phép, đích kết nối và nơi lưu log. Chỉ định người giữ khóa, cách thay/thu hồi và phép kiểm sau thu hồi; không mở cổng ở bước thiết kế."
      ],
      "acceptance": [
        "Không có bí mật trong mã hoặc mẫu; từng quyền có mục đích.",
        "Có chủ trách nhiệm, phạm vi mạng và cách xác nhận khóa cũ hết hiệu lực."
      ],
      "reviewer_roles": [
        "OPS"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R024 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-12-16",
        "2026-12-18"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT064",
      "domain": "SD10",
      "title": "Review thiết kế bảo mật",
      "parent_ids": [
        "R026"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "docs/legal/W1_D04_DataMinimizationMap.md",
        "backend/DAC_TA_API_VA_NGU_CANH.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/THIET_KE_BAO_MAT_VA_CAU_HINH.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT064_R026.md",
      "depends_on": [
        "AI-KT060"
      ],
      "business_dependencies": [
        "R025"
      ],
      "steps": [
        "Đọc sơ đồ, ma trận tài khoản và mẫu cấu hình. Thử suy luận truy cập sai vai, lộ log hoặc cấu hình; ghi điều kiện tái hiện và tác động.",
        "Đối chiếu đầu vào lớn, gọi dồn, lỗi dịch vụ và hết thời gian chờ. Kiểm ca ASVS đã chọn, yêu cầu bổ sung và người sửa; ghi kết luận review đúng phạm vi."
      ],
      "acceptance": [
        "Mỗi nhận xét gắn thành phần và bằng chứng; không sửa quyền thật trong buổi review.",
        "Mỗi rủi ro có cách xử lý hoặc trạng thái chờ; không tự chấp thuận triển khai."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R025 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-12-19",
        "2026-12-22"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT065",
      "domain": "SD11",
      "title": "Đối chiếu và thiết kế SQL và chuyển đổi phiên bản",
      "parent_ids": [
        "A11",
        "R054",
        "R055",
        "R056"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "deployment/database/init_schema.sql",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD11_THIET_KE_VA_RANH_GIOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT065_SD11_THIET_KE.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu contracts và mã hiện có",
        "Thiết kế nhánh thiếu và ca lỗi",
        "Ghi điều kiện chuyển sang thực thi thật"
      ],
      "acceptance": [
        "Có phát hiện theo file thực",
        "Không cấp quyền bằng kết quả kiểm",
        "Mỗi parent có đối soát"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS review; quyết định phạm vi, quyền và chuyên môn thuộc người có thẩm quyền.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD11_THIET_KE_VA_RANH_GIOI.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_NGUON.json",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md"
      ],
      "phase": "preparation_completed",
      "planned_use_dates": [
        "2027-01-04",
        "2027-01-05",
        "2027-01-06",
        "2027-01-07",
        "2027-01-08",
        "2027-01-09",
        "2027-01-11",
        "2027-01-13",
        "2027-01-14",
        "2027-01-16"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT066",
      "domain": "SD11",
      "title": "Sửa SQL và thiết kế chuyển đổi",
      "parent_ids": [
        "A11"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "deployment/database/init_schema.sql",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/database/init_schema.sql; deployment/database/QUY_TRINH_CHUYEN_DOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT066_A11.md",
      "depends_on": [
        "AI-KT065"
      ],
      "business_dependencies": [
        "R019",
        "R030"
      ],
      "steps": [
        "Đọc schema và SQL hiện có, đề xuất ràng buộc, AuditLog và quản lý phiên bản. Thêm ca chạy lại, lỗi giữa chừng và dữ liệu sai; chưa chạy lên DB thật."
      ],
      "acceptance": [
        "Lệnh có đích rõ, dữ liệu thử tổng hợp và cách xử lý thất bại."
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R019, R030 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-01-04"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT067",
      "domain": "SD11",
      "title": "Review mã SQL và kịch bản chuyển đổi",
      "parent_ids": [
        "R054"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "deployment/database/init_schema.sql",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/database/QUY_TRINH_CHUYEN_DOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT067_R054.md",
      "depends_on": [
        "AI-KT065"
      ],
      "business_dependencies": [
        "A11"
      ],
      "steps": [
        "Đọc từng bảng, trường và quan hệ trong SQL A11. So kiểu, bắt buộc, khóa và dữ liệu được phép giữ; ghi sai khác trước chạy.",
        "Kiểm khóa, ràng buộc và trường AuditLog bằng ví dụ tổng hợp. Đối chiếu quyền app/DB và dữ liệu log; sửa SQL không phù hợp.",
        "Mô tả thứ tự chuyển đổi, kiểm phiên bản trước/sau và tình huống dừng giữa chừng. Viết phép kiểm dữ liệu sau chạy hoặc quay lại; bàn giao OPS."
      ],
      "acceptance": [
        "Không thêm dữ liệu ngoài phạm vi; khác biệt có quyết định xử lý.",
        "Không ghi bí mật hoặc nội dung ngoài quyền; lỗi dữ liệu có hành vi rõ.",
        "Không dùng chạy lại tùy ý để che lỗi; từng bước có điều kiện tiếp tục."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào A11 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-01-05",
        "2027-01-06",
        "2027-01-07"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT068",
      "domain": "SD11",
      "title": "Diễn tập SQL trên DB thử riêng",
      "parent_ids": [
        "R055"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "deployment/database/init_schema.sql",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/database/QUY_TRINH_CHUYEN_DOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT068_R055.md",
      "depends_on": [
        "AI-KT065"
      ],
      "business_dependencies": [
        "R054"
      ],
      "steps": [
        "Xác nhận tên máy/DB thử, quyền và dữ liệu tổng hợp. Lưu bản kê trạng thái ban đầu và phiên bản; kiểm đích lệnh trước thao tác.",
        "Thực hiện theo R054, ghi lệnh và kết quả từng bước. Kiểm bảng, khóa, quyền tối thiểu và dữ liệu sau chuyển đổi; giữ log đã lọc.",
        "Dùng dữ liệu sai và lỗi được thiết kế trên DB thử. Ghi bước dừng, trạng thái dữ liệu và khả năng chạy lại; không tự bỏ ràng buộc.",
        "Thực hiện cách khôi phục đã nêu, kiểm lại dữ liệu và phiên bản. Tổng hợp thời gian, quyền dùng và lỗi cần sửa để reviewer tái hiện."
      ],
      "acceptance": [
        "Không thao tác DB vận hành; có trạng thái nền để đối chiếu.",
        "Đủ kết quả trước/sau; không chỉ nhận mã thoát của script.",
        "Dữ liệu không bị âm thầm hỏng; trạng thái sau lỗi được xác định.",
        "DB thử trở về trạng thái xác định; không nhận khôi phục khi thiếu phép kiểm."
      ],
      "reviewer_roles": [
        "OPS"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R054 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-01-08",
        "2027-01-09",
        "2027-01-11",
        "2027-01-13"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT069",
      "domain": "SD11",
      "title": "Kiểm chuyển đổi độc lập",
      "parent_ids": [
        "R056"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "deployment/database/init_schema.sql",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/database/QUY_TRINH_CHUYEN_DOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT069_R056.md",
      "depends_on": [
        "AI-KT065"
      ],
      "business_dependencies": [
        "R055"
      ],
      "steps": [
        "Đọc quy trình R054 và log R055. Tự chạy các ca trong DB thử được giao; thử dữ liệu sai và tài khoản hạn chế; ghi sai khác.",
        "Đối chiếu dữ liệu/phiên bản sau lỗi với kỳ vọng. Rà cách khôi phục, log và các bước khó tái hiện; lập lỗi chặn và phần đã có bằng chứng."
      ],
      "acceptance": [
        "Không dùng quyền quản trị để bỏ qua lỗi quyền tối thiểu.",
        "Mỗi kết luận gắn ca và phiên bản; không tự cho phép chạy vận hành."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R055 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-01-14",
        "2027-01-16"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT070",
      "domain": "SD12",
      "title": "Đối chiếu và thiết kế IIS và triển khai bản thử",
      "parent_ids": [
        "R059",
        "R059B",
        "R060",
        "R061"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "deployment/iis/W1_D06_IIS_Config_Guide.md",
        "backend/README.md",
        "frontend/README.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD12_THIET_KE_VA_RANH_GIOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT070_SD12_THIET_KE.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu contracts và mã hiện có",
        "Thiết kế nhánh thiếu và ca lỗi",
        "Ghi điều kiện chuyển sang thực thi thật"
      ],
      "acceptance": [
        "Có phát hiện theo file thực",
        "Không cấp quyền bằng kết quả kiểm",
        "Mỗi parent có đối soát"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS review; quyết định phạm vi, quyền và chuyên môn thuộc người có thẩm quyền.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD12_THIET_KE_VA_RANH_GIOI.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_NGUON.json",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md"
      ],
      "phase": "preparation_completed",
      "planned_use_dates": [
        "2027-01-04",
        "2027-01-06",
        "2027-01-15",
        "2027-01-16",
        "2027-01-18",
        "2027-08-13",
        "2027-08-14",
        "2027-08-16",
        "2027-08-17",
        "2027-08-19",
        "2027-08-21"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT071",
      "domain": "SD12",
      "title": "Cài bản thử IIS và HTTPS",
      "parent_ids": [
        "R059"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "deployment/iis/W1_D06_IIS_Config_Guide.md",
        "backend/README.md",
        "frontend/README.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/iis/HUONG_DAN_CAI_DAT.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT071_R059.md",
      "depends_on": [
        "AI-KT070"
      ],
      "business_dependencies": [
        "R030",
        "R012",
        "R026"
      ],
      "steps": [
        "Kiểm quyền đã được giao, bản kê máy và cấu hình IIS hiện có. Chốt đích website, tài khoản, thư mục và phương án quay lui; dùng API ngoại tuyến cho lượt cài đầu.",
        "Theo thiết kế đã review, cấu hình tiến trình ASGI, đường nạp app, cổng nội bộ và quyền thư mục. Kiểm API ngoại tuyến khởi động; không bật hỏi đáp thật.",
        "Áp binding, chứng chỉ và đường truy cập trong phạm vi cho phép. Kiểm HTTPS, đích chuyển tiếp và quyền truy cập; không mở công khai chỉ để thử.",
        "Dùng ca ngoại tuyến để thử lỗi tiến trình, cổng hoặc thời gian chờ. Kiểm log tối thiểu và hành vi IIS; ghi cách nhận biết, dừng và phục hồi.",
        "Khởi động lại trong vùng được phép theo kế hoạch. Kiểm app trở lại đúng trạng thái ngoại tuyến; chụp bản kê cấu hình và các lỗi còn mở cho R060."
      ],
      "acceptance": [
        "Không mặc định cài lại IIS hoặc sửa ứng dụng khác; thiếu quyền thì dừng.",
        "Đúng tài khoản/đường dẫn được giao; không dùng reload khi vận hành.",
        "Đúng website/chứng chỉ; kết nối sai đích hoặc ngoài quyền bị chặn.",
        "Log không chứa bí mật; giới hạn cấu hình có bằng chứng.",
        "Health không bị hiểu là readiness; chưa dùng lượt này để nghiệm thu gói thật."
      ],
      "reviewer_roles": [
        "OPS"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R030, R012, R026 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-01-04",
        "2027-01-06",
        "2027-01-15",
        "2027-01-16",
        "2027-01-18"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT072",
      "domain": "SD12",
      "title": "Cài gói ứng viên chữ đã review lên máy thử",
      "parent_ids": [
        "R059B"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "deployment/iis/W1_D06_IIS_Config_Guide.md",
        "backend/README.md",
        "frontend/README.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/iis/HUONG_DAN_CAI_DAT.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT072_R059B.md",
      "depends_on": [
        "AI-KT070"
      ],
      "business_dependencies": [
        "R059",
        "R058"
      ],
      "steps": [
        "Kiểm quyền, bản kê R058, mã băm và đích thử R059. Giữ cấu hình hiện tại để phục hồi. Cài backend, frontend và tri thức đúng gói; không dùng dữ liệu thật.",
        "Áp cấu hình được phép, quyền kết nối và bản DB đã kiểm. Khởi động gói; kiểm health và readiness bằng ca tổng hợp. Ghi phiên bản thực, log lỗi và bàn giao NCS1 kiểm R060."
      ],
      "acceptance": [
        "Đúng gói, đúng host thử; lỗi cài được ghi và xử lý trước khi tiếp tục.",
        "Không dùng API ngoại tuyến làm bằng chứng cài gói thật. Máy thử chỉ mở trong phạm vi được phép."
      ],
      "reviewer_roles": [
        "OPS"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R059, R058 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-08-13",
        "2027-08-14"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT073",
      "domain": "SD12",
      "title": "Kiểm ứng dụng sau cài",
      "parent_ids": [
        "R060"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "deployment/iis/W1_D06_IIS_Config_Guide.md",
        "backend/README.md",
        "frontend/README.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/iis/HUONG_DAN_CAI_DAT.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT073_R060.md",
      "depends_on": [
        "AI-KT070"
      ],
      "business_dependencies": [
        "R059B"
      ],
      "steps": [
        "Đối chiếu gói được giao với mã băm và cấu hình IIS. Kiểm tệp Vue, đường dẫn, tải lại trang và lỗi tài nguyên; ghi chính xác bản đang chạy.",
        "Dùng ca tổng hợp được phép kiểm endpoint, nguồn và trạng thái không sẵn sàng. So API/UI/tri thức với bản kê; ghi lỗi cài hoặc giao tiếp."
      ],
      "acceptance": [
        "Không lấy kết quả API ngoại tuyến R059 thay gói thật.",
        "Chỉ báo sẵn sàng khi điều kiện thực đủ; không mở sử dụng với người."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R059B trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-08-16",
        "2027-08-17"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT074",
      "domain": "SD12",
      "title": "Review cấu hình máy đích",
      "parent_ids": [
        "R061"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "deployment/iis/W1_D06_IIS_Config_Guide.md",
        "backend/README.md",
        "frontend/README.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/iis/HUONG_DAN_CAI_DAT.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT074_R061.md",
      "depends_on": [
        "AI-KT070"
      ],
      "business_dependencies": [
        "R060"
      ],
      "steps": [
        "Đọc hướng dẫn và kết quả R059/R060. Đối chiếu tiến trình, quyền, binding, chứng chỉ và phiên bản trên host được giao; ghi phần khác tài liệu.",
        "Trong môi trường thử được phép, tạo lỗi đã định để kiểm từ chối và log. Ghi cách phục hồi cấu hình; tổng hợp yêu cầu sửa và giới hạn kiểm."
      ],
      "acceptance": [
        "Không suy cấu hình mẫu là cấu hình đã áp thực tế.",
        "Không còn sai khác bị bỏ qua; chưa cấp quyền vận hành cho người thật."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R060 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-08-19",
        "2027-08-21"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT075",
      "domain": "SD13",
      "title": "Đối chiếu và thiết kế Hạ tầng và môi trường riêng",
      "parent_ids": [
        "R027",
        "R028",
        "R029",
        "R030"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "docs/research/plans/KIEN_TRUC_DU_AN.md",
        "deployment/iis/W1_D06_IIS_Config_Guide.md",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD13_THIET_KE_VA_RANH_GIOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT075_SD13_THIET_KE.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu contracts và mã hiện có",
        "Thiết kế nhánh thiếu và ca lỗi",
        "Ghi điều kiện chuyển sang thực thi thật"
      ],
      "acceptance": [
        "Có phát hiện theo file thực",
        "Không cấp quyền bằng kết quả kiểm",
        "Mỗi parent có đối soát"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS review; quyết định phạm vi, quyền và chuyên môn thuộc người có thẩm quyền.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD13_THIET_KE_VA_RANH_GIOI.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_NGUON.json",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md"
      ],
      "phase": "preparation_completed",
      "planned_use_dates": [
        "2026-10-17",
        "2026-10-19",
        "2026-12-26",
        "2026-12-28",
        "2026-12-30",
        "2026-12-31",
        "2027-01-02"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT076",
      "domain": "SD13",
      "title": "Kiểm kê máy đích và quyền thực có",
      "parent_ids": [
        "R027"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/research/plans/KIEN_TRUC_DU_AN.md",
        "deployment/iis/W1_D06_IIS_Config_Guide.md",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/BAN_KE_MOI_TRUONG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT076_R027.md",
      "depends_on": [
        "AI-KT075"
      ],
      "business_dependencies": [
        "PREP"
      ],
      "steps": [
        "Xác nhận chủ máy và quyền chỉ đọc. Ghi phiên bản Windows/IIS/SQL, dung lượng, bộ nhớ, cổng và ứng dụng liên quan; không mặc định cài lại phần mềm.",
        "So yêu cầu CXK với tài nguyên và quyền thực có. Ghi người cấp quyền, người vận hành, phần cần xin hoặc thay đổi và ảnh hưởng ứng dụng khác."
      ],
      "acceptance": [
        "Thông tin lấy từ máy được giao; nêu rõ phần chưa được phép kiểm.",
        "Không coi quyền đăng nhập là quyền cài hoặc sửa cấu hình; tồn đọng có người xử lý."
      ],
      "reviewer_roles": [
        "OPS"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào PREP trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-10-17",
        "2026-10-19"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT077",
      "domain": "SD13",
      "title": "Chuẩn bị môi trường thử riêng",
      "parent_ids": [
        "R028"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/research/plans/KIEN_TRUC_DU_AN.md",
        "deployment/iis/W1_D06_IIS_Config_Guide.md",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/BAN_KE_MOI_TRUONG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT077_R028.md",
      "depends_on": [
        "AI-KT075"
      ],
      "business_dependencies": [
        "R027",
        "R026",
        "G0"
      ],
      "steps": [
        "Theo quyền đã có, chuẩn bị vùng app và DB thử riêng. Đặt tên dễ phân biệt với vận hành; dùng dữ liệu tổng hợp và ghi đường dẫn/đích đã kiểm.",
        "Áp cấu hình đã được review cho tài khoản thử, thư mục và kết nối được phép. Kiểm truy cập cần thiết và truy cập phải bị từ chối; lưu log không chứa bí mật.",
        "Đối chiếu cấu hình thực với bản kê, người giữ khóa và cách dừng. Ghi cách nhận biết môi trường trước chạy lệnh; bàn giao những giới hạn còn chờ."
      ],
      "acceptance": [
        "Môi trường thử không dùng dữ liệu hoặc khóa vận hành.",
        "Phép kiểm xác nhận đúng vùng thử; sai quyền phải dừng để xử lý.",
        "Máy, DB, mạng và trách nhiệm quản lý phân biệt rõ; không tự nhận cổng đã đạt."
      ],
      "reviewer_roles": [
        "OPS"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R027, R026, G0 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-12-26",
        "2026-12-28",
        "2026-12-30"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT078",
      "domain": "SD13",
      "title": "Kiểm ứng dụng trên môi trường được giao",
      "parent_ids": [
        "R029"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/research/plans/KIEN_TRUC_DU_AN.md",
        "deployment/iis/W1_D06_IIS_Config_Guide.md",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/BAN_KE_MOI_TRUONG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT078_R029.md",
      "depends_on": [
        "AI-KT075"
      ],
      "business_dependencies": [
        "R028",
        "R012"
      ],
      "steps": [
        "Đối chiếu phiên bản R012 với bản kê R028. Chạy kiểm phản hồi ngoại tuyến và kết nối được phép; ghi host, thời điểm, cấu hình và kết quả."
      ],
      "acceptance": [
        "Không gọi dịch vụ ngoài phạm vi; không đồng nhất loopback với cách ly đầy đủ."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R028, R012 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-12-31"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT079",
      "domain": "SD13",
      "title": "Kiểm phân tách môi trường",
      "parent_ids": [
        "R030"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/research/plans/KIEN_TRUC_DU_AN.md",
        "deployment/iis/W1_D06_IIS_Config_Guide.md",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/BAN_KE_MOI_TRUONG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT079_R030.md",
      "depends_on": [
        "AI-KT075"
      ],
      "business_dependencies": [
        "R029"
      ],
      "steps": [
        "Rà quyền DB, thư mục, binding và tên khóa. Dùng cấu hình sai tổng hợp để kiểm điểm dừng; xác nhận không vô ý đi vào dữ liệu vận hành."
      ],
      "acceptance": [
        "Mỗi phép thử có đích và kết quả; lỗi truy cập ngoài vùng thử được ghi là chặn."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R029 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-01-02"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT080",
      "domain": "SD14",
      "title": "Đối chiếu và thiết kế Kế hoạch kiểm thử và bộ ca khóa",
      "parent_ids": [
        "R048",
        "R049",
        "R053",
        "R124"
      ],
      "mode": "READY",
      "status": "AI_CHECKED",
      "inputs": [
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md",
        "docs/guides/TEST_REPORT_TEMPLATE.md",
        "safety/W1_D05_SafetyTests_v0.1.yaml",
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD14_THIET_KE_VA_RANH_GIOI.md",
        "tools/AI_TONG_HOP_KET_QUA.py",
        "testing/scripts/TEST_AI_TONG_HOP_KET_QUA.py",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/KET_QUA_TONG_HOP_MAU.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT080_SD14_THIET_KE.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu contracts và mã hiện có",
        "Thiết kế nhánh thiếu và ca lỗi",
        "Ghi điều kiện chuyển sang thực thi thật"
      ],
      "acceptance": [
        "Có phát hiện theo file thực",
        "Không cấp quyền bằng kết quả kiểm",
        "Mỗi parent có đối soát"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS review; quyết định phạm vi, quyền và chuyên môn thuộc người có thẩm quyền.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD14_THIET_KE_VA_RANH_GIOI.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_NGUON.json",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md"
      ],
      "phase": "preparation_completed",
      "planned_use_dates": [
        "2026-11-07",
        "2026-11-09",
        "2026-11-10",
        "2027-03-30",
        "2027-03-31",
        "2027-10-19",
        "2027-10-21"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT081",
      "domain": "SD14",
      "title": "Hoàn thiện kế hoạch kiểm thử tổng thể",
      "parent_ids": [
        "R048"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md",
        "docs/guides/TEST_REPORT_TEMPLATE.md",
        "safety/W1_D05_SafetyTests_v0.1.yaml",
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "testing/KE_HOACH_KIEM_THU_TONG_THE.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT081_R048.md",
      "depends_on": [
        "AI-KT080"
      ],
      "business_dependencies": [
        "R019"
      ],
      "steps": [
        "Đối chiếu yêu cầu, rủi ro và thiết kế với hiện vật. Gắn mỗi yêu cầu với ca kiểm, dữ liệu và đầu ra quan sát.",
        "Tách kiểm đơn vị, tích hợp, hệ thống và tải. Ghi môi trường, vai thực hiện, điều kiện vào và tiêu chí ra."
      ],
      "acceptance": [
        "Yêu cầu thiếu ca kiểm được ghi thành việc còn lại.",
        "Mỗi mức có người nhận và nơi lưu bằng chứng."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R019 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-11-07"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT082",
      "domain": "SD14",
      "title": "Tách kiểm camera và dữ liệu đánh giá",
      "parent_ids": [
        "R049"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md",
        "docs/guides/TEST_REPORT_TEMPLATE.md",
        "safety/W1_D05_SafetyTests_v0.1.yaml",
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "testing/KE_HOACH_KIEM_THU_TONG_THE.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT082_R049.md",
      "depends_on": [
        "AI-KT080"
      ],
      "business_dependencies": [
        "R048"
      ],
      "steps": [
        "Liệt kê thiết bị, quyền, mất hình, rời trang và không đo được. Tách dữ liệu giả với dữ liệu người được phép.",
        "Ghi chuẩn đối chiếu, sai số, tỷ lệ không đo được và dữ liệu thiếu. Gắn nguồn protocol; không suy bệnh từ chỉ số."
      ],
      "acceptance": [
        "Dữ liệu giả không chứng minh hiệu lực đo trên người.",
        "Kiểm kỹ thuật, phép đo và review y khoa có đầu ra riêng."
      ],
      "reviewer_roles": [
        "NCS2"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R048 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-11-09",
        "2026-11-10"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT086",
      "domain": "SD14",
      "title": "Chuẩn hóa công cụ ghi kết quả",
      "parent_ids": [
        "R053"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md",
        "docs/guides/TEST_REPORT_TEMPLATE.md",
        "safety/W1_D05_SafetyTests_v0.1.yaml",
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "testing/KE_HOACH_KIEM_THU_TONG_THE.md; testing/scripts/"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT086_R053.md",
      "depends_on": [
        "AI-KT080"
      ],
      "business_dependencies": [
        "R052"
      ],
      "steps": [
        "Lập trường ID, phiên bản, kết quả, lỗi, dữ liệu thiếu và người ghi. Đối chiếu từng trường với phép tính đã khóa.",
        "Viết hoặc sửa công cụ tính. Thử số nhỏ biết trước, mẫu số bằng không và dữ liệu thiếu. Ghi kết quả mong đợi và thực tế."
      ],
      "acceptance": [
        "Giữ đủ mẫu số và ca bỏ dở hoặc thiếu.",
        "Phép tính tái lập được; không tự suy diễn giá trị thiếu."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R052 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-03-30",
        "2027-03-31"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT087",
      "domain": "SD14",
      "title": "Xử lý bộ cuối đã dùng để sửa và khóa tập thay thế",
      "parent_ids": [
        "R124"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md",
        "docs/guides/TEST_REPORT_TEMPLATE.md",
        "safety/W1_D05_SafetyTests_v0.1.yaml",
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "testing/KE_HOACH_KIEM_THU_TONG_THE.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT087_R124.md",
      "depends_on": [
        "AI-KT080"
      ],
      "business_dependencies": [
        "R083"
      ],
      "steps": [
        "Người review ghi ca đã dùng sửa sản phẩm. Chuyển vai trò bộ đó thành phát triển; giữ lịch sử và lý do.",
        "Tạo và xét ca thay thế theo tiêu chí đã khóa và nguồn. Kiểm trùng lặp, khóa nhãn, phân quyền và ghi phiên bản."
      ],
      "acceptance": [
        "Không tuyên bố bộ đã dùng sửa vẫn độc lập.",
        "Độc lập có bằng chứng; thiếu năng lực hoặc nguồn phải ghi chờ."
      ],
      "reviewer_roles": [
        "REVIEW_YK"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R083 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-10-19",
        "2027-10-21"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT088",
      "domain": "SD15",
      "title": "Đối chiếu và thiết kế Kiểm hệ thống và sửa lỗi",
      "parent_ids": [
        "R079",
        "R080",
        "R083",
        "R084",
        "R101",
        "R102"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_3.md",
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md",
        "docs/guides/TEST_REPORT_TEMPLATE.md",
        "tools/KIEM_TRA_CXK.ps1"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD15_THIET_KE_VA_RANH_GIOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT088_SD15_THIET_KE.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu contracts và mã hiện có",
        "Thiết kế nhánh thiếu và ca lỗi",
        "Ghi điều kiện chuyển sang thực thi thật"
      ],
      "acceptance": [
        "Có phát hiện theo file thực",
        "Không cấp quyền bằng kết quả kiểm",
        "Mỗi parent có đối soát"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS review; quyết định phạm vi, quyền và chuyên môn thuộc người có thẩm quyền.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD15_THIET_KE_VA_RANH_GIOI.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_NGUON.json",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md"
      ],
      "phase": "preparation_completed",
      "planned_use_dates": [
        "2027-08-27",
        "2027-08-30",
        "2027-08-31",
        "2027-09-01",
        "2027-09-04",
        "2027-09-09",
        "2027-09-11",
        "2027-09-14",
        "2027-09-16",
        "2027-10-15",
        "2027-10-16",
        "2027-10-18",
        "2027-10-19",
        "2027-10-21",
        "2028-01-24",
        "2028-01-25",
        "2028-01-26",
        "2028-02-15",
        "2028-02-17"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT089",
      "domain": "SD15",
      "title": "Chạy kiểm hệ thống chữ",
      "parent_ids": [
        "R079"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_3.md",
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md",
        "docs/guides/TEST_REPORT_TEMPLATE.md",
        "tools/KIEM_TRA_CXK.ps1"
      ],
      "outputs": [],
      "planned_outputs": [
        "testing/BAO_CAO_KIEM_HE_THONG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT089_R079.md",
      "depends_on": [
        "AI-KT088"
      ],
      "business_dependencies": [
        "R053",
        "R061",
        "R065",
        "R071",
        "R077"
      ],
      "steps": [
        "Đối chiếu gói, môi trường và đầu ra phụ thuộc. Ghi phiên bản, tập ca phát triển, mẫu số và cách ghi lỗi; không mở bộ y khoa cuối.",
        "Chạy ca kỹ thuật tổng hợp từ UI qua API, bộ lọc, nguồn và phản hồi. Ghi kết quả từng bước, trích dẫn và hành vi lỗi; không bỏ ca thất bại.",
        "Trong môi trường được phép, chạy tải đã chọn, sai quyền và dịch vụ lỗi/chậm. Ghi tài nguyên, thời gian và trạng thái UI/API theo từng ca.",
        "Kiểm lại chức năng bị ảnh hưởng sau tích hợp, so với bản kê. Tổng hợp ca đạt/chưa đạt, lỗi tái hiện và người xử lý để reviewer độc lập tiếp tục."
      ],
      "acceptance": [
        "Mỗi ca có kỳ vọng và đích; bộ y khoa cuối vẫn được bảo vệ.",
        "Kết quả gắn phiên bản đã khóa; không suy thành hiệu quả y khoa.",
        "Không vượt phạm vi thử; có mẫu số, cấu hình và ca lỗi đầy đủ.",
        "Không giấu lỗi hoặc mở tập y khoa cuối; bằng chứng truy vết được."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R053, R061, R065, R071, R077 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-08-27",
        "2027-08-30",
        "2027-08-31",
        "2027-09-01"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT090",
      "domain": "SD15",
      "title": "Kiểm độc lập bảo mật, tải và trợ năng",
      "parent_ids": [
        "R080"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_3.md",
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md",
        "docs/guides/TEST_REPORT_TEMPLATE.md",
        "tools/KIEM_TRA_CXK.ps1"
      ],
      "outputs": [],
      "planned_outputs": [
        "testing/BAO_CAO_KIEM_HE_THONG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT090_R080.md",
      "depends_on": [
        "AI-KT088"
      ],
      "business_dependencies": [
        "R079"
      ],
      "steps": [
        "Nhận bản khóa R079, chọn các ca ASVS đã thống nhất. Kiểm sai quyền, đầu vào không hợp lệ và đường lỗi; ghi mã yêu cầu, ca và kết quả riêng.",
        "Chạy tải/giới hạn trong phạm vi thử, ghi CPU/bộ nhớ/thời gian và trạng thái khi lỗi. Kiểm hệ thống hồi phục theo thiết kế, lập lỗi vượt tiêu chí.",
        "Dùng bàn phím, công cụ đọc màn hình và chế độ hiển thị đã chọn. Kiểm luồng chính cùng thông báo lỗi/chờ; ghi thao tác không thể hoàn thành.",
        "Gộp bằng chứng bảo mật/tải/trợ năng, phân loại lỗi và giới hạn chưa kiểm. Chuyển lỗi chặn cho người sửa; giữ rõ điều kiện chưa đạt thay vì tự cấp GO."
      ],
      "acceptance": [
        "Không nhận đạt toàn ASVS; kết quả độc lập có môi trường và phiên bản.",
        "Không dùng số đo thiếu cấu hình hoặc mẫu số; không bỏ ca chậm/lỗi.",
        "Bằng chứng thuộc bản khóa, không dùng kết quả UI cũ thay thế.",
        "Không lỗi nghiêm trọng bị bỏ qua; nếu còn lỗi thì hồ sơ phải ghi chưa đủ điều kiện."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R079 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-09-04",
        "2027-09-09",
        "2027-09-11",
        "2027-09-14",
        "2027-09-16"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT093",
      "domain": "SD15",
      "title": "Sửa vòng lỗi tích hợp",
      "parent_ids": [
        "R083"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_3.md",
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md",
        "docs/guides/TEST_REPORT_TEMPLATE.md",
        "tools/KIEM_TRA_CXK.ps1"
      ],
      "outputs": [],
      "planned_outputs": [
        "testing/BAO_CAO_KIEM_HE_THONG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT093_R083.md",
      "depends_on": [
        "AI-KT088"
      ],
      "business_dependencies": [
        "R080",
        "R082"
      ],
      "steps": [
        "Đọc R080/R082, gắn lỗi với mã, nội dung hoặc cấu hình. Tách việc NCS được sửa và việc cần người có thẩm quyền; ghi ca hồi quy tương ứng.",
        "Sửa các đường mã/cấu hình được giao, bắt đầu từ lỗi chặn. Viết hoặc bổ sung ca tái hiện trước kiểm lại; ghi thay đổi theo ID lỗi.",
        "Chỉ nhận nội dung/phiên bản được xử lý theo R082. Kiểm điều kiện duyệt và nguồn trước tích hợp; nếu chưa đủ thì giữ nhánh đóng, ghi phần chờ.",
        "Chạy hồi quy kỹ thuật bị ảnh hưởng, dựng gói mới và cập nhật bản kê. Giữ kết quả bản cũ riêng; bàn giao lỗi đã xử lý/chưa xử lý cho reviewer."
      ],
      "acceptance": [
        "Không tự sửa nội dung APPROVED hoặc đổi mục tiêu đánh giá.",
        "Ca từng thất bại được kiểm lại; không che lỗi bằng bỏ kiểm.",
        "Không dùng NCS/AI thay CVYK; phiên bản thay đổi được truy vết.",
        "Không chấm lại tập cuối đã lộ để nhận kết quả mới; giữ yêu cầu tập thay thế."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R080, R082 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-10-15",
        "2027-10-16",
        "2027-10-18"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT094",
      "domain": "SD15",
      "title": "Kiểm lại lỗi kỹ thuật và gói",
      "parent_ids": [
        "R084"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_3.md",
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md",
        "docs/guides/TEST_REPORT_TEMPLATE.md",
        "tools/KIEM_TRA_CXK.ps1"
      ],
      "outputs": [],
      "planned_outputs": [
        "testing/BAO_CAO_KIEM_HE_THONG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT094_R084.md",
      "depends_on": [
        "AI-KT088"
      ],
      "business_dependencies": [
        "R083"
      ],
      "steps": [
        "Nhận gói R083 đúng mã băm, chạy các ca lỗi R080 và hồi quy liên quan. Ghi kết quả mới cạnh kết quả cũ; không xóa ca thất bại lịch sử.",
        "Đối chiếu mã, cấu hình, phụ thuộc và lỗi mở; kiểm thành phần bị tác động ngoài ca trực tiếp. Nêu có hay chưa còn lỗi chặn trước bước đánh giá tiếp."
      ],
      "acceptance": [
        "Bằng chứng gắn bản sửa; ca còn lỗi giữ trạng thái mở.",
        "Không báo đủ điều kiện khi còn lỗi chặn hoặc thiếu bằng chứng."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R083 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-10-19",
        "2027-10-21"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT097",
      "domain": "SD15",
      "title": "Sửa lỗi sau thử chữ và dựng bản bàn giao",
      "parent_ids": [
        "R101"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_3.md",
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md",
        "docs/guides/TEST_REPORT_TEMPLATE.md",
        "tools/KIEM_TRA_CXK.ps1"
      ],
      "outputs": [],
      "planned_outputs": [
        "testing/BAO_CAO_KIEM_HE_THONG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT097_R101.md",
      "depends_on": [
        "AI-KT088"
      ],
      "business_dependencies": [
        "R100",
        "R097"
      ],
      "steps": [
        "Đọc R100/R097, phân loại lỗi chặn, nội dung và phương pháp. Ghi phạm vi sửa; nếu đổi phương pháp/phạm vi, chuyển yêu cầu mở lại cổng trước tiếp tục.",
        "Sửa lỗi kỹ thuật ưu tiên, thêm ca tái hiện. Tách nội dung cần CVYK review; không tự sửa APPROVED hoặc nhận phản hồi người dùng thành kết luận y khoa.",
        "Chạy ca bị ảnh hưởng, ghi bản gói/cấu hình và lỗi còn mở. Chuẩn bị hồ sơ cho R123 và R102; chỉ ghép nội dung đúng quyền."
      ],
      "acceptance": [
        "Không tự mở rộng hoạt động hoặc dùng ngày lịch làm quyền.",
        "Mỗi sửa có ID lỗi, ca kiểm và người chịu trách nhiệm.",
        "Bản mới có bằng chứng riêng; chưa tự chấp thuận bàn giao."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R100, R097 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2028-01-24",
        "2028-01-25",
        "2028-01-26"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT098",
      "domain": "SD15",
      "title": "Kiểm bản chữ sau sửa",
      "parent_ids": [
        "R102"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_3.md",
        "testing/QUY_UOC_NHAN_VA_DANH_GIA.md",
        "docs/guides/TEST_REPORT_TEMPLATE.md",
        "tools/KIEM_TRA_CXK.ps1"
      ],
      "outputs": [],
      "planned_outputs": [
        "testing/BAO_CAO_KIEM_HE_THONG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT098_R102.md",
      "depends_on": [
        "AI-KT088"
      ],
      "business_dependencies": [
        "R101",
        "R123"
      ],
      "steps": [
        "Nhận gói sau R101/R123, kiểm mã băm, cấu hình, nội dung và phạm vi cổng. Đối chiếu những thay đổi có thể làm bằng chứng cũ không còn phù hợp.",
        "Chạy các ca liên quan lỗi sau thử và thành phần bị ảnh hưởng. Ghi kết quả, giới hạn và lỗi mở; bàn giao hồ sơ đúng phiên bản để xét tiếp."
      ],
      "acceptance": [
        "Không lấy biên bản của bản trước làm phê duyệt bản mới.",
        "Không nhận bản giao có chứng cứ khi thiếu phép kiểm hoặc còn lỗi chặn."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R101, R123 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2028-02-15",
        "2028-02-17"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT102",
      "domain": "SD16",
      "title": "Đối chiếu và thiết kế Đóng gói và quản lý phát hành",
      "parent_ids": [
        "A16",
        "R057",
        "R058",
        "C28"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "docs/guides/MOI_TRUONG_VA_DONG_GOP.md",
        "backend/requirements.txt",
        "frontend/package-lock.json",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD16_THIET_KE_VA_RANH_GIOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT102_SD16_THIET_KE.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu contracts và mã hiện có",
        "Thiết kế nhánh thiếu và ca lỗi",
        "Ghi điều kiện chuyển sang thực thi thật"
      ],
      "acceptance": [
        "Có phát hiện theo file thực",
        "Không cấp quyền bằng kết quả kiểm",
        "Mỗi parent có đối soát"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS review; quyết định phạm vi, quyền và chuyên môn thuộc người có thẩm quyền.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD16_THIET_KE_VA_RANH_GIOI.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_NGUON.json",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md"
      ],
      "phase": "preparation_completed",
      "planned_use_dates": [
        "2026-12-23",
        "2027-08-06",
        "2027-08-07",
        "2027-08-10",
        "2027-08-12",
        "2028-04-11",
        "2028-04-12",
        "2028-04-13"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT103",
      "domain": "SD16",
      "title": "Hoàn thiện quy trình đóng gói",
      "parent_ids": [
        "A16"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/guides/MOI_TRUONG_VA_DONG_GOP.md",
        "backend/requirements.txt",
        "frontend/package-lock.json",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "tools/; deployment/BAN_KE_PHAT_HANH.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT103_A16.md",
      "depends_on": [
        "AI-KT102"
      ],
      "business_dependencies": [
        "R012",
        "R026"
      ],
      "steps": [
        "Dựa các thành phần đã có, đề xuất bản kê mã băm, phiên bản, phụ thuộc và giấy phép. Thêm kiểm bí mật, cấu hình mẫu và đường dẫn dựng; chưa phát hành ra ngoài."
      ],
      "acceptance": [
        "Phân biệt gói chữ và gói mở rộng; không chép khóa hoặc dữ liệu thật vào gói."
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R012, R026 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-12-23"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT104",
      "domain": "SD16",
      "title": "Đóng gói ứng viên phát hành chữ",
      "parent_ids": [
        "R057"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/guides/MOI_TRUONG_VA_DONG_GOP.md",
        "backend/requirements.txt",
        "frontend/package-lock.json",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/BAN_KE_PHAT_HANH.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT104_R057.md",
      "depends_on": [
        "AI-KT102"
      ],
      "business_dependencies": [
        "A16",
        "R047",
        "R056",
        "R043"
      ],
      "steps": [
        "Kiểm đầu vào đã hoàn thành, khóa phiên bản mã và môi trường. Dựng backend/frontend theo quy trình; lưu lệnh và lỗi, không lấy bản dựng cũ thay thế.",
        "Đối chiếu gói tri thức được xét hợp lệ với cấu hình phát hành. Ghép đúng thành phần, mẫu cấu hình không bí mật và tài liệu cần thiết; kiểm phần không được phân phối.",
        "Tính mã băm, ghi phiên bản, giấy phép và kết quả kiểm. Ghi lỗi còn mở, hướng dẫn nhận dạng gói và điều kiện đổi ứng viên; bàn giao reviewer."
      ],
      "acceptance": [
        "Bản dựng truy được tới mã và phụ thuộc cụ thể.",
        "Không chứa DRAFT, nguồn hết quyền hoặc bí mật; phiên bản thành phần khớp nhau.",
        "Không tự gọi ứng viên là bản được phép dùng; thay thành phần phải cập nhật bản kê."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào A16, R047, R056, R043 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-08-06",
        "2027-08-07"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT105",
      "domain": "SD16",
      "title": "Kiểm thành phần và bản phát hành",
      "parent_ids": [
        "R058"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/guides/MOI_TRUONG_VA_DONG_GOP.md",
        "backend/requirements.txt",
        "frontend/package-lock.json",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/BAN_KE_PHAT_HANH.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT105_R058.md",
      "depends_on": [
        "AI-KT102"
      ],
      "business_dependencies": [
        "R057"
      ],
      "steps": [
        "Đối chiếu bản kê R057 với tệp gói, phụ thuộc và giấy phép. Rà cảnh báo lỗ hổng theo nguồn được chọn; ghi phiên bản, thời điểm và giới hạn kiểm.",
        "So mã băm, mẫu cấu hình, dấu bí mật và mức lỗi được dự án chấp nhận. Ghi yêu cầu sửa hoặc kết quả review đúng phiên bản."
      ],
      "acceptance": [
        "Thành phần thiếu giấy phép hoặc cảnh báo chưa xử lý được nêu rõ.",
        "Không tự nhận gói được phát hành khi chưa đủ cổng và quyết định."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R057 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-08-10",
        "2027-08-12"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT106",
      "domain": "SD16",
      "title": "Đóng gói riêng bản kết hợp",
      "parent_ids": [
        "C28"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/guides/MOI_TRUONG_VA_DONG_GOP.md",
        "backend/requirements.txt",
        "frontend/package-lock.json",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/BAN_KE_PHAT_HANH_KET_HOP.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT106_C28.md",
      "depends_on": [
        "AI-KT102"
      ],
      "business_dependencies": [
        "C20",
        "C27"
      ],
      "steps": [
        "Nhận đầu ra C20/C27, dựng đúng hai nhánh và kiểm phiên bản API/UI/camera/tri thức. Đối chiếu cấu hình, DB và phụ thuộc; không dùng gói chữ cũ cho mã camera mới.",
        "Tính mã băm, ghi giấy phép, cấu hình, DB và bản tương thích để quay lại. Đính kèm kết quả kiểm, giới hạn camera và điều kiện sử dụng; chưa phát hành tự động."
      ],
      "acceptance": [
        "Đúng thành phần đã kiểm; lỗi hoặc sai phiên bản được ghi chặn.",
        "Không tái dùng R057 làm bản kê cho mã mới; mọi thành phần truy vết được."
      ],
      "reviewer_roles": [
        "NCS2"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào C20, C27 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2028-04-11",
        "2028-04-12",
        "2028-04-13"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT107",
      "domain": "SD17",
      "title": "Đối chiếu và thiết kế Sao lưu, phục hồi và quay lại bản trước",
      "parent_ids": [
        "R062",
        "R063",
        "R063B",
        "R064",
        "R065"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
        "deployment/database/init_schema.sql",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD17_THIET_KE_VA_RANH_GIOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT107_SD17_THIET_KE.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu contracts và mã hiện có",
        "Thiết kế nhánh thiếu và ca lỗi",
        "Ghi điều kiện chuyển sang thực thi thật"
      ],
      "acceptance": [
        "Có phát hiện theo file thực",
        "Không cấp quyền bằng kết quả kiểm",
        "Mỗi parent có đối soát"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS review; quyết định phạm vi, quyền và chuyên môn thuộc người có thẩm quyền.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD17_THIET_KE_VA_RANH_GIOI.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_NGUON.json",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md"
      ],
      "phase": "preparation_completed",
      "planned_use_dates": [
        "2027-01-14",
        "2027-01-16",
        "2027-01-20",
        "2027-01-22",
        "2027-01-23",
        "2027-01-25",
        "2027-08-18",
        "2027-08-19",
        "2027-08-20",
        "2027-08-21",
        "2027-08-24",
        "2027-08-26"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT108",
      "domain": "SD17",
      "title": "Chốt dữ liệu và mục tiêu phục hồi",
      "parent_ids": [
        "R062"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
        "deployment/database/init_schema.sql",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT108_R062.md",
      "depends_on": [
        "AI-KT107"
      ],
      "business_dependencies": [
        "R055"
      ],
      "steps": [
        "Lập danh sách dữ liệu, nơi giữ, thời hạn, khóa và người có quyền. Ghi mức mất dữ liệu/thời gian gián đoạn cần quyết định; xác định dữ liệu được phép phục hồi."
      ],
      "acceptance": [
        "Không tự đặt mục tiêu thay người chịu trách nhiệm; thiếu quyết định được ghi chờ."
      ],
      "reviewer_roles": [
        "DATA"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R055 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-01-14",
        "2027-01-16"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT109",
      "domain": "SD17",
      "title": "Diễn tập sao lưu và phục hồi DB thử",
      "parent_ids": [
        "R063"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
        "deployment/database/init_schema.sql",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT109_R063.md",
      "depends_on": [
        "AI-KT107"
      ],
      "business_dependencies": [
        "R059",
        "R056",
        "R062"
      ],
      "steps": [
        "Xác nhận DB thử, dữ liệu tổng hợp, quyền và tiêu chí R062. Ghi trạng thái nền; tạo bản sao theo quy trình, lưu nơi giữ và cách bảo vệ khóa.",
        "Kiểm đích DB và dung lượng, phục hồi bản sao vào môi trường riêng. Ghi thời điểm bắt đầu/kết thúc và lỗi; không nhận VERIFYONLY là đã phục hồi.",
        "Chạy phép kiểm nhất quán phù hợp, đối chiếu bảng/dữ liệu tổng hợp và quyền. So mục tiêu R062 với thời gian đo; ghi sai lệch và phần thiếu.",
        "Gộp lệnh, thời gian, quyền và lỗi phục hồi DB vào hướng dẫn. Ghi giới hạn của lượt này; phần quay lui ứng dụng thật chờ R063B."
      ],
      "acceptance": [
        "Không lấy dữ liệu vận hành để diễn tập; bản sao nhận dạng được.",
        "Có thao tác phục hồi thật trên DB thử và kết quả quan sát.",
        "Không kết luận từ tệp sao lưu đọc được; sai lệch có người xử lý.",
        "Tách thành công thực tế, lỗi và việc chưa thử; không ghi vượt phạm vi diễn tập."
      ],
      "reviewer_roles": [
        "OPS"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R059, R056, R062 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-01-20",
        "2027-01-22",
        "2027-01-23",
        "2027-01-25"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT110",
      "domain": "SD17",
      "title": "Diễn tập quay lui gói ứng dụng thật trên môi trường thử",
      "parent_ids": [
        "R063B"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
        "deployment/database/init_schema.sql",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT110_R063B.md",
      "depends_on": [
        "AI-KT107"
      ],
      "business_dependencies": [
        "R063",
        "R060"
      ],
      "steps": [
        "Kiểm bộ app, cấu hình, DB và bản sao còn khớp. Nếu đã đổi, sao lưu lại trước diễn tập. Trên host thử, tạo thay đổi có kiểm soát rồi quay lại gói R060 đã kiểm. Đối chiếu tri thức, nguồn thu hồi; ghi thời gian, lỗi và điểm dừng. Thiếu giờ hoặc không tương thích phải bổ sung việc, không bỏ bước."
      ],
      "acceptance": [
        "Có bằng chứng quay lui gói thật tương thích. Nguồn bị thu hồi không được khôi phục quyền sử dụng."
      ],
      "reviewer_roles": [
        "OPS"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R063, R060 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-08-18"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT111",
      "domain": "SD17",
      "title": "Kiểm ứng dụng sau phục hồi",
      "parent_ids": [
        "R064"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
        "deployment/database/init_schema.sql",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT111_R064.md",
      "depends_on": [
        "AI-KT107"
      ],
      "business_dependencies": [
        "R063B",
        "R060"
      ],
      "steps": [
        "Dùng ca tổng hợp đối chiếu chức năng trước/sau R063B và kết quả phục hồi DB R063. Kiểm quyền truy cập, cấu hình và phản hồi lỗi. Ghi trạng thái DB/app thực đang chạy.",
        "So gói tri thức, nguồn thu hồi và bản app sau quay lui. Chạy ca liên quan; sửa hướng dẫn phục hồi ở bước gây sai hoặc thiếu kiểm."
      ],
      "acceptance": [
        "Dữ liệu và quyền không chỉ kiểm ở DB; có kết quả qua API/UI.",
        "Không đưa nguồn đã rút trở lại sử dụng; kết quả gắn bản phục hồi."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R063B, R060 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-08-19",
        "2027-08-20"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT112",
      "domain": "SD17",
      "title": "Review bằng chứng phục hồi và quay lui",
      "parent_ids": [
        "R065"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
        "deployment/database/init_schema.sql",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT112_R065.md",
      "depends_on": [
        "AI-KT107"
      ],
      "business_dependencies": [
        "R064"
      ],
      "steps": [
        "Đối chiếu bản sao, log, thời gian và phép kiểm dữ liệu của R063/R064. Kiểm đầy đủ mã/DB/cấu hình, quyền thực hiện và các trường hợp chưa thử.",
        "Rà phiên bản DB/app/tri thức sau quay lui, nguồn đã thu hồi và lỗi mở. Yêu cầu sửa thiếu bằng chứng; ghi giới hạn, người quyết và điều kiện dừng."
      ],
      "acceptance": [
        "Không dùng VERIFYONLY hoặc log sao lưu làm chứng cứ phục hồi.",
        "Không cho phép quay lui làm phục hồi nguồn hết quyền; không tự ký cổng."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R064 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-08-21",
        "2027-08-24",
        "2027-08-26"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT113",
      "domain": "SD22",
      "title": "Đối chiếu và thiết kế Xuất bản, thu hồi và ngừng dịch vụ",
      "parent_ids": [
        "A22",
        "R076",
        "R077",
        "R078",
        "R118",
        "R119"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "docs/guides/QUY_TRINH_XUAT_BAN_HTML.md",
        "docs/guides/DAC_TA_KIEM_TRA_TRUOC_XUAT_BAN.md",
        "tools/KIEM_TRA_TRUOC_XUAT_BAN.py",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "docs/research/plans/KE_HOACH_CON_LAI/KE_HOACH_NGUON_Y_KHOA_MARKDOWN.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD22_THIET_KE_VA_RANH_GIOI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT113_SD22_THIET_KE.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu contracts và mã hiện có",
        "Thiết kế nhánh thiếu và ca lỗi",
        "Ghi điều kiện chuyển sang thực thi thật"
      ],
      "acceptance": [
        "Có phát hiện theo file thực",
        "Không cấp quyền bằng kết quả kiểm",
        "Mỗi parent có đối soát"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS review; quyết định phạm vi, quyền và chuyên môn thuộc người có thẩm quyền.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SD22_THIET_KE_VA_RANH_GIOI.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_NGUON.json",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md"
      ],
      "phase": "preparation_completed",
      "planned_use_dates": [
        "2026-12-18",
        "2027-08-09",
        "2027-08-10",
        "2027-08-11",
        "2027-08-12",
        "2027-08-14",
        "2027-08-17",
        "2027-09-06",
        "2027-09-08",
        "2028-06-10",
        "2028-06-13"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT115",
      "domain": "SD22",
      "title": "Hoàn thiện bộ sinh có kiểm quyền",
      "parent_ids": [
        "A22"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/guides/QUY_TRINH_XUAT_BAN_HTML.md",
        "docs/guides/DAC_TA_KIEM_TRA_TRUOC_XUAT_BAN.md",
        "tools/KIEM_TRA_TRUOC_XUAT_BAN.py",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "tools/; docs/guides/QUY_TRINH_XUAT_BAN_HTML.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT115_A22.md",
      "depends_on": [
        "AI-KT113"
      ],
      "business_dependencies": [
        "R075",
        "R019"
      ],
      "steps": [
        "Đọc R075 và bộ kiểm trước xuất hiện có. Nối kiểm quyền/phiên bản với danh sách cho phép; tạo ca tổng hợp cho tài nguyên bị cấm, thiếu quyền và hết hạn.",
        "Bổ sung kiểm trang, chỉ mục tìm kiếm, sitemap và tệp tải xuống. Tạo ca thu hồi/cập nhật để phát hiện nội dung còn sót; ghi giới hạn đối với bản sao ngoài kiểm soát."
      ],
      "acceptance": [
        "Mặc định không xuất khi thiếu điều kiện; chưa sinh hoặc công bố kho thật.",
        "Không chỉ bỏ liên kết tới nội dung bị cấm; chưa nhận ca giả là kiểm xuất thật."
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R075, R019 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2026-12-18"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT116",
      "domain": "SD22",
      "title": "Tích hợp kiểm trước xuất và thu hồi",
      "parent_ids": [
        "R076"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/guides/QUY_TRINH_XUAT_BAN_HTML.md",
        "docs/guides/DAC_TA_KIEM_TRA_TRUOC_XUAT_BAN.md",
        "tools/KIEM_TRA_TRUOC_XUAT_BAN.py",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/guides/QUY_TRINH_XUAT_BAN_HTML.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT116_R076.md",
      "depends_on": [
        "AI-KT113"
      ],
      "business_dependencies": [
        "A22",
        "GA"
      ],
      "steps": [
        "Đọc A22, đối chiếu Q08 và GA. Rà đầu vào, trạng thái, phiên bản và đường xuất; sửa chỗ bỏ qua kiểm trước xuất trước dùng gói đã xét.",
        "Dùng gói đúng phạm vi đã xét trên môi trường thử. Kiểm tài nguyên được phép và bị chặn; ghi phiên bản gói, danh sách và cấu hình sinh.",
        "Rút tài nguyên thử, kiểm trang, tìm kiếm, sitemap và bản tải xuống. Sửa đường để nội dung không tiếp tục được sinh hoặc truy cập trong phạm vi kiểm soát.",
        "Thử cập nhật/khôi phục phiên bản đầu ra trong vùng thử; kiểm cache và nguồn hết quyền. Cập nhật cách kiểm trước/sau và bằng chứng cho reviewer."
      ],
      "acceptance": [
        "Không chạy xuất thật khi thiếu quyền; mọi đường xuất qua kiểm điều kiện.",
        "Không suy quyền đọc nguồn thành quyền công bố; lỗi kiểm làm dừng xuất.",
        "Không chỉ ẩn menu; ghi rõ bản sao ngoài kiểm soát chưa được xác minh.",
        "Bản cũ không vô ý đưa nguồn bị rút trở lại; lỗi còn mở được nêu rõ."
      ],
      "reviewer_roles": [
        "NCS1"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào A22, GA trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-08-09",
        "2027-08-10",
        "2027-08-11",
        "2027-08-12"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT117",
      "domain": "SD22",
      "title": "Kiểm xuất bản và thu hồi trên môi trường thử",
      "parent_ids": [
        "R077"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/guides/QUY_TRINH_XUAT_BAN_HTML.md",
        "docs/guides/DAC_TA_KIEM_TRA_TRUOC_XUAT_BAN.md",
        "tools/KIEM_TRA_TRUOC_XUAT_BAN.py",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "docs/guides/QUY_TRINH_XUAT_BAN_HTML.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT117_R077.md",
      "depends_on": [
        "AI-KT113"
      ],
      "business_dependencies": [
        "R076"
      ],
      "steps": [
        "Độc lập tạo các trường hợp thiếu quyền/hết hạn theo tập được phép. Kiểm trang, đường dẫn trực tiếp, tìm kiếm, sitemap và tải xuống; ghi bằng chứng.",
        "Thử phục hồi bản cũ trong vùng thử và kiểm lại tài nguyên đã rút. Rà cache, bản tải và nhật ký; tổng hợp lỗi, giới hạn và việc cần xử lý."
      ],
      "acceptance": [
        "Tài nguyên bị chặn không còn lộ qua đầu ra phụ trong phạm vi thử.",
        "Không tuyên bố xóa bản sao ngoài kiểm soát; thiếu bằng chứng phải giữ lỗi."
      ],
      "reviewer_roles": [
        "REVIEW_TECH"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R076 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-08-14",
        "2027-08-17"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT118",
      "domain": "SD22",
      "title": "Diễn tập cập nhật, thu hồi và ngừng dịch vụ",
      "parent_ids": [
        "R078"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/research/plans/KE_HOACH_CON_LAI/KE_HOACH_NGUON_Y_KHOA_MARKDOWN.md",
        "docs/guides/QUY_TRINH_XUAT_BAN_HTML.md",
        "docs/guides/DAC_TA_KIEM_TRA_TRUOC_XUAT_BAN.md",
        "tools/KIEM_TRA_TRUOC_XUAT_BAN.py",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/QUY_TRINH_CAP_NHAT_THU_HOI_VA_NGUNG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT118_R078.md",
      "depends_on": [
        "AI-KT113"
      ],
      "business_dependencies": [
        "R077",
        "R065",
        "SRC-M03"
      ],
      "steps": [
        "Theo quy trình đã review, cập nhật gói thử rồi rút một nguồn tổng hợp. Kiểm app/API/DB và đầu ra; ghi người quyết, người thực hiện, trạng thái cuối và lỗi.",
        "Trong vùng thử, đi qua dừng app/API, xử lý DB/bản sao, thu hồi tài khoản/khóa và kết nối nhà cung cấp. Ghi phần lưu/xóa cần quyết định và điều kiện khởi động lại."
      ],
      "acceptance": [
        "Nguồn bị rút không được dùng lại; không thu hồi nguồn thật ngoài quyết định.",
        "Đủ phạm vi app, DB, khóa, nhà cung cấp và bản sao; không xóa theo ngày lịch đơn thuần."
      ],
      "reviewer_roles": [
        "OPS"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R077, R065, SRC-M03 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2027-09-06",
        "2027-09-08"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT119",
      "domain": "SD22",
      "title": "Rà bảo trì và quyền sau một tháng",
      "parent_ids": [
        "R118"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/guides/QUY_TRINH_XUAT_BAN_HTML.md",
        "docs/guides/DAC_TA_KIEM_TRA_TRUOC_XUAT_BAN.md",
        "tools/KIEM_TRA_TRUOC_XUAT_BAN.py",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/QUY_TRINH_CAP_NHAT_THU_HOI_VA_NGUNG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT119_R118.md",
      "depends_on": [
        "AI-KT113"
      ],
      "business_dependencies": [
        "R116"
      ],
      "steps": [
        "Theo R116, kiểm sao lưu/phục hồi mẫu, chứng chỉ, phụ thuộc và nguồn bị rút trong phạm vi được phép. Rà app/API/DB, tài khoản, khóa, nhà cung cấp và bản sao; ghi việc cần quyết định."
      ],
      "acceptance": [
        "Có chủ trách nhiệm, điều kiện dừng và giới hạn đã kiểm; không mặc nhiên gia hạn quyền."
      ],
      "reviewer_roles": [
        "OPS"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R116 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2028-06-10"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT120",
      "domain": "SD22",
      "title": "Kiểm thời hạn giữ và hồ sơ ngừng",
      "parent_ids": [
        "R119"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/guides/QUY_TRINH_XUAT_BAN_HTML.md",
        "docs/guides/DAC_TA_KIEM_TRA_TRUOC_XUAT_BAN.md",
        "tools/KIEM_TRA_TRUOC_XUAT_BAN.py",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [],
      "planned_outputs": [
        "deployment/QUY_TRINH_CAP_NHAT_THU_HOI_VA_NGUNG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT120_R119.md",
      "depends_on": [
        "AI-KT113"
      ],
      "business_dependencies": [
        "R118"
      ],
      "steps": [
        "Đối chiếu thời hạn giữ, nơi giữ và bản sao với quyết định hiện có. Kiểm app/API/DB, tài khoản, khóa và nhà cung cấp liên quan; đề xuất xử lý hoặc chuyển người có quyền."
      ],
      "acceptance": [
        "Không xóa chỉ vì đến ngày dự kiến; mọi thao tác thật cần quyết định phù hợp."
      ],
      "reviewer_roles": [
        "DATA"
      ],
      "human_boundary": "Giữ phê duyệt, người review độc lập, hoạt động có người và bản đầu NCS tự viết.",
      "blocker": "Chưa có bằng chứng hoàn tất các đầu vào R118 trong bộ bàn giao. Không chặn việc chuẩn bị đã làm; chỉ chờ phần thực thi phụ thuộc.",
      "execution_evidence": [],
      "phase": "future_parent_execution",
      "planned_use_dates": [
        "2028-06-13"
      ],
      "execution_date": null
    },
    {
      "id": "AI-KT121",
      "domain": "SD22",
      "title": "Kiểm quan hệ thu hồi và phục hồi tổng hợp",
      "parent_ids": [
        "A22",
        "R076",
        "R077",
        "R063B",
        "R065"
      ],
      "mode": "READY",
      "status": "AI_CHECKED",
      "phase": "preparation_completed",
      "inputs": [
        "docs/guides/DAC_TA_KIEM_TRA_TRUOC_XUAT_BAN.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [
        "tools/AI_TRUY_VET_THU_HOI.py",
        "testing/scripts/TEST_AI_TRUY_VET_THU_HOI.py",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/KET_QUA_THU_HOI_MAU.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT121_TRUY_VET_THU_HOI.md",
      "depends_on": [],
      "steps": [
        "Tạo đồ thị nguồn tổng hợp",
        "Tính thành phần bị ảnh hưởng bắc cầu",
        "Kiểm phục hồi với trạng thái thu hồi hiện hành",
        "Chạy 11 ca kiểm và ghi kết quả"
      ],
      "acceptance": [
        "Không bỏ quan hệ bắc cầu",
        "Vòng quan hệ không lặp vô hạn",
        "Không cấp quyền hoặc xóa/phục hồi thật"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "Chưa nối sản phẩm; không thay xác nhận quyền hoặc diễn tập host thật.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/KET_QUA_THU_HOI_MAU.json"
      ],
      "planned_use_dates": [
        "2026-12-18",
        "2027-08-09",
        "2027-08-10",
        "2027-08-11",
        "2027-08-12",
        "2027-08-14",
        "2027-08-17",
        "2027-08-18",
        "2027-08-21",
        "2027-08-24",
        "2027-08-26"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT122",
      "domain": "SD05",
      "title": "Nạp ngữ cảnh tổng hợp",
      "parent_ids": [
        "A05"
      ],
      "mode": "READY",
      "status": "AI_CHECKED",
      "phase": "preparation_completed",
      "inputs": [
        "backend/app/services/release_preflight.py"
      ],
      "outputs": [
        "tools/AI_BO_NAP_TONG_HOP.py",
        "testing/scripts/TEST_AI_NAP_BAN_KE_SQL.py",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/KET_QUA_BO_NAP_MAU.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT122_A05_NGOAI_TUYEN.md",
      "depends_on": [],
      "steps": [
        "Kiểm bản kê synthetic-preflight-0.1 bằng hàm hiện có",
        "Chặn ID lạ, hash sai, quyền rút/hết hạn và tổng ngữ cảnh vượt giới hạn",
        "Chỉ trả ngữ cảnh tổng hợp; không mở API hoặc cấp quyền"
      ],
      "acceptance": [
        "Có kết quả ca tổng hợp",
        "Không thay canonical",
        "Giới hạn kiểm tĩnh/ngoại tuyến rõ"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "Còn hợp đồng dữ liệu, quyền và host thật trước tích hợp.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/KET_QUA_BO_NAP_MAU.json"
      ],
      "planned_use_dates": [
        "2026-12-29",
        "2026-12-30"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT123",
      "domain": "SD11",
      "title": "Sinh SQL chuyển đổi tổng hợp",
      "parent_ids": [
        "A11"
      ],
      "mode": "READY",
      "status": "AI_CHECKED",
      "phase": "preparation_completed",
      "inputs": [
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [
        "tools/AI_CHUYEN_DOI_SQL_TONG_HOP.py",
        "testing/scripts/TEST_AI_NAP_BAN_KE_SQL.py",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SQL_TONG_HOP.sql",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SQL_TONG_HOP_LOI.sql"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT123_A11_NGOAI_TUYEN.md",
      "depends_on": [],
      "steps": [
        "Sinh SQL một lô cho DB tiền tố SYNTHETIC_",
        "Ghi phiên bản trong giao dịch sau tạo bảng; tạo nhánh gây lỗi",
        "Kiểm tĩnh cấu trúc, chưa thực thi SQL hoặc chứng minh rollback thật"
      ],
      "acceptance": [
        "Có kết quả ca tổng hợp",
        "Không thay canonical",
        "Giới hạn kiểm tĩnh/ngoại tuyến rõ"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "Còn hợp đồng dữ liệu, quyền và host thật trước tích hợp.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SQL_TONG_HOP.sql",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SQL_TONG_HOP_LOI.sql"
      ],
      "planned_use_dates": [
        "2027-01-04"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT124",
      "domain": "SD16",
      "title": "Băm file từ danh sách cho phép",
      "parent_ids": [
        "A16"
      ],
      "mode": "READY",
      "status": "AI_CHECKED",
      "phase": "preparation_completed",
      "inputs": [
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md"
      ],
      "outputs": [
        "tools/AI_BAN_KE_TEP.py",
        "testing/scripts/TEST_AI_NAP_BAN_KE_SQL.py",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_MA_AI.json"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_KT/20260926_2115_PROMPT_AI_KT124_A16_NGOAI_TUYEN.md",
      "depends_on": [],
      "steps": [
        "Chỉ đọc đường dẫn được cho phép, giới hạn byte",
        "Chặn đường vượt thư mục, liên kết và metadata không rõ",
        "Băm byte; nếu ổ chia sẻ không rõ metadata, kiểm bản sao mã cục bộ và đối chiếu hash nguồn"
      ],
      "acceptance": [
        "Có kết quả ca tổng hợp",
        "Không thay canonical",
        "Giới hạn kiểm tĩnh/ngoại tuyến rõ"
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "Còn hợp đồng dữ liệu, quyền và host thật trước tích hợp.",
      "blocker": null,
      "execution_evidence": [
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BANG_CHUNG_KIEM.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/BAN_KE_MA_AI.json"
      ],
      "planned_use_dates": [
        "2026-12-23"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-KT125",
      "title": "Sửa và kiểm lỗi JSON của API ngoại tuyến",
      "parent_ids": [
        "R040",
        "R084"
      ],
      "mode": "READY",
      "status": "AI_CHECKED",
      "inputs": [
        "backend/app/main.py",
        "backend/app/middleware/body_limit.py",
        "backend/DAC_TA_API_VA_NGU_CANH.md",
        "backend/tests/test_offline_api.py"
      ],
      "outputs": [
        "backend/app/main.py",
        "backend/tests/test_offline_api.py",
        "backend/DAC_TA_API_VA_NGU_CANH.md",
        "Research/20260926_AI_THUC_HIEN/KY_THUAT/SUA_LOI_JSON_NGOAI_TUYEN.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2135_PROMPT_AI_SUA_LOI_JSON_NGOAI_TUYEN.md",
      "depends_on": [],
      "steps": [
        "Tái hiện lỗi JSON sâu trả 400 thay vì 422 trên Python 3.12.",
        "Thêm xử lý hẹp cho lỗi độ sâu và mã hóa; giữ mọi HTTP khác theo mặc định.",
        "Bổ sung ca UTF-8 lỗi và chạy lại toàn bộ API ngoại tuyến."
      ],
      "acceptance": [
        "77 test API đạt trên môi trường đã ghi phiên bản.",
        "JSON lỗi không phản chiếu đầu vào; yêu cầu hợp lệ vẫn 503.",
        "Không mở kết nối hoặc nhánh phục vụ thật."
      ],
      "reviewer_roles": [
        "NCS1",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS1 đọc hiểu và người kiểm kỹ thuật kiểm bản thay đổi. Chỉ hoàn tất lỗi ngoại tuyến; API thật và lần hồi quy sản phẩm tương lai vẫn chưa xong.",
      "blocker": "",
      "execution_evidence": [
        "Đã kiểm trước sửa: JSON sâu trả 400, test yêu cầu 422.",
        "Sau sửa: 77 passed, 1 warning trên Python 3.12.10; test_offline_api.py.",
        "Test mới invalid_utf8_json_is_sanitized không lộ giá trị đầu vào."
      ],
      "planned_use_dates": [
        "2027-03-08",
        "2027-03-09",
        "2027-03-10",
        "2027-03-11",
        "2027-03-12",
        "2027-03-13",
        "2027-03-15",
        "2027-10-19",
        "2027-10-21"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-TL01",
      "title": "Đối soát yêu cầu với hiện vật và phần thiếu",
      "parent_ids": [
        "R001",
        "A01",
        "R005"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/project/project_charter.md",
        "docs/project/intended_use.md",
        "backend/app/main.py",
        "backend/app/middleware/body_limit.py",
        "frontend/src/App.vue",
        "docs/diary/2026-09-26.md",
        "Research/20260926_BIEN_BAN_NANG_CAP_DOT_4.md",
        "docs/research/plans/KE_HOACH_CON_LAI/DOI_SOAT_HIEN_TRANG.md",
        "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_1.md",
        "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_2.md",
        "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_3.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/01_MA_TRAN_YEU_CAU_HIEN_VAT.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL01_MA_TRAN_YEU_CAU_HIEN_VAT.md",
      "depends_on": [],
      "steps": [
        "Đọc lịch sử bốn đợt và hiện vật API/Vue.",
        "Nối yêu cầu với T/D, trạng thái thật và phép nghiệm thu còn thiếu.",
        "Giữ lỗi nguồn TXT và xung đột số thẻ; không khôi phục ngầm."
      ],
      "acceptance": [
        "Mỗi yêu cầu có mã, hiện vật, phần có và phần thiếu.",
        "Không xếp lại xây API giả, Vue mô phỏng hoặc checker đã có."
      ],
      "reviewer_roles": [
        "NCS1",
        "OPS",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS kiểm và tự viết phần nghiên cứu; review/phê duyệt, thực nghiệm và nhận việc thuộc người phù hợp.",
      "blocker": "",
      "execution_evidence": [
        {
          "kind": "source_read",
          "path": "AGENTS.md",
          "sha256": "dd5abcfbf567859ff37d97846273e104d7bb8306bbe2e5a76c9c0639ed6e571d"
        },
        {
          "kind": "source_read",
          "path": "README.md",
          "sha256": "175121304f1d98ae1c96b4a014f199c5e406fdfb7cd6d6846379bc040951425e"
        },
        {
          "kind": "source_read",
          "path": "docs/GLOSSARY.md",
          "sha256": "9e15a2dfbca5c5f61a7f490d59ee1ca41fbbb5fd618d0c582b56220287f92911"
        },
        {
          "kind": "source_read",
          "path": "docs/project/project_charter.md",
          "sha256": "eaaae35b7ac956ade962ccc6d0e465a89247ccda3b49e95d4d814a21bd804145"
        },
        {
          "kind": "source_read",
          "path": "docs/project/intended_use.md",
          "sha256": "7cb57b170f043949077196899660e37decfcefaad07b862510a0c942776cebc5"
        },
        {
          "kind": "source_read",
          "path": "backend/app/main.py",
          "sha256": "2a6b3222df07fc485cce88257b12333a8697c6a33181b40ae971ec7582d61f39"
        },
        {
          "kind": "source_read",
          "path": "backend/app/middleware/body_limit.py",
          "sha256": "dd91dd71b67ccbc5373f1f0090e653a9f774aefedc869541ca2cd3791b7cd861"
        },
        {
          "kind": "source_read",
          "path": "frontend/src/App.vue",
          "sha256": "d6930d30143f43107383b10204e7e46cfc3b1e12c33a4c478eac64570da007bf"
        },
        {
          "kind": "source_read",
          "path": "docs/diary/2026-09-26.md",
          "sha256": "d4bc4f76e9f1cc14049d51369ea58c33473da549fb4c0f434318e2c9433e3f69"
        },
        {
          "kind": "source_read",
          "path": "Research/20260926_BIEN_BAN_NANG_CAP_DOT_4.md",
          "sha256": "0d83bdf6050c2e4289148a088f657568026d65ece39777043fb06f68358d5974"
        },
        {
          "kind": "source_read",
          "path": "docs/research/plans/KE_HOACH_CON_LAI/DOI_SOAT_HIEN_TRANG.md",
          "sha256": "a5daa65e253f138fa3ed0f54e7a05e5da402dbc857dd46424c6ddeb05f908b34"
        },
        {
          "kind": "draft_created",
          "path": "Research/20260926_AI_THUC_HIEN/TAI_LIEU/01_MA_TRAN_YEU_CAU_HIEN_VAT.md",
          "sha256": "16fde1c43c64c018eba133fa61b07f2882b7b8dfa9ff8c667bfe1c98b299e4f6"
        },
        {
          "kind": "source_read",
          "path": "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_1.md",
          "sha256": "b917c967ee4e4def53db58406375ad5517352b611503747bad47e976dea7b6fd"
        },
        {
          "kind": "source_read",
          "path": "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_2.md",
          "sha256": "f236e806b6d9dc9b671259df406f7e38cad2d4856c4e1c3def967b4f09aa68e0"
        },
        {
          "kind": "source_read",
          "path": "docs/reports/20260926_BIEN_BAN_NANG_CAP_DOT_3.md",
          "sha256": "8d79b5533e63e56fd71715cd3f42fb5500a8f0aba3cbf660c369223849c0853d"
        }
      ],
      "planned_use_dates": [
        "2026-09-28",
        "2026-09-29",
        "2026-10-07",
        "2026-10-08"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-TL02",
      "title": "Đối soát CYK và bàn giao hai NCS",
      "parent_ids": [
        "R002",
        "R005",
        "R007"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "docs/research/plans/CAMERA_MODULE_TASK_BOARD.md",
        "knowledge-base/evidence-matrix/source_registry.csv"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/02_CAMERA_VA_DIEM_PHOI_HOP.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL02_CAMERA_VA_DIEM_PHOI_HOP.md",
      "depends_on": [],
      "steps": [
        "Đọc đủ CYK-01–13 và tình trạng nguồn.",
        "Ghi điểm bàn giao nguồn/quy trình/đầu ra cho NCS1 và NCS2.",
        "Giữ một chỉ số ứng viên và mọi điều kiện còn thiếu."
      ],
      "acceptance": [
        "Đủ 13 CYK và gói CYK-S/K/P/A/T.",
        "Không chọn ngưỡng hoặc bật thiết bị."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "GVHD"
      ],
      "human_boundary": "NCS kiểm và tự viết phần nghiên cứu; review/phê duyệt, thực nghiệm và nhận việc thuộc người phù hợp.",
      "blocker": "",
      "execution_evidence": [
        {
          "kind": "source_read",
          "path": "AGENTS.md",
          "sha256": "dd5abcfbf567859ff37d97846273e104d7bb8306bbe2e5a76c9c0639ed6e571d"
        },
        {
          "kind": "source_read",
          "path": "README.md",
          "sha256": "175121304f1d98ae1c96b4a014f199c5e406fdfb7cd6d6846379bc040951425e"
        },
        {
          "kind": "source_read",
          "path": "docs/GLOSSARY.md",
          "sha256": "9e15a2dfbca5c5f61a7f490d59ee1ca41fbbb5fd618d0c582b56220287f92911"
        },
        {
          "kind": "source_read",
          "path": "docs/research/plans/MA_TRAN_Y_KHOA_CAMERA.md",
          "sha256": "a58620c99df91592fc97e117aa790403238d6f9969d83b9688125bd521d7510e"
        },
        {
          "kind": "source_read",
          "path": "docs/research/plans/DAC_TA_CAMERA.md",
          "sha256": "4264951ffe7a3c0538cd0f09f0efe204a4de272dda3b47d5eb959c12af172c45"
        },
        {
          "kind": "source_read",
          "path": "docs/research/plans/CAMERA_MODULE_TASK_BOARD.md",
          "sha256": "da8b191ad41b5c917d6d1c9fff8976b42bb50114c2d1670654245db8596879b7"
        },
        {
          "kind": "source_read",
          "path": "knowledge-base/evidence-matrix/source_registry.csv",
          "sha256": "1ea16836b2571118311ea1ea06ff23517bb7f6d1e1e0defd5679804cc72ddb2c"
        },
        {
          "kind": "draft_created",
          "path": "Research/20260926_AI_THUC_HIEN/TAI_LIEU/02_CAMERA_VA_DIEM_PHOI_HOP.md",
          "sha256": "c8ca8c5af21a7ad05a3902bd91786cdb863f79ea87f39257e0cc92e8c73a200f"
        }
      ],
      "planned_use_dates": [
        "2026-09-28",
        "2026-09-29",
        "2026-09-30",
        "2026-10-01",
        "2026-10-08"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-TL03",
      "title": "Chuẩn bị phiếu quyết định và nhận việc",
      "parent_ids": [
        "R003",
        "R004",
        "PREP",
        "G0"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/project/SO_QUYET_DINH_THAY_DOI.md",
        "docs/project/project_charter.md",
        "docs/project/HO_SO_SU_DUNG_AI.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/03_PHIEU_QUYET_DINH_VA_NHAN_VIEC.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL03_PHIEU_QUYET_DINH_VA_NHAN_VIEC.md",
      "depends_on": [],
      "steps": [
        "Tách câu hỏi Q01/Q02/Q04/Q05/Q07 và nguồn TXT.",
        "Chuẩn bị vai, chứng cứ cần, hồ sơ PREP/G0.",
        "Giữ lịch và người nhận chưa xác nhận."
      ],
      "acceptance": [
        "Không biến dự toán thành lịch nhận việc.",
        "Không có chữ ký hoặc trạng thái quyết định giả."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "GVHD"
      ],
      "human_boundary": "NCS kiểm và tự viết phần nghiên cứu; review/phê duyệt, thực nghiệm và nhận việc thuộc người phù hợp.",
      "blocker": "",
      "execution_evidence": [
        {
          "kind": "source_read",
          "path": "AGENTS.md",
          "sha256": "dd5abcfbf567859ff37d97846273e104d7bb8306bbe2e5a76c9c0639ed6e571d"
        },
        {
          "kind": "source_read",
          "path": "README.md",
          "sha256": "175121304f1d98ae1c96b4a014f199c5e406fdfb7cd6d6846379bc040951425e"
        },
        {
          "kind": "source_read",
          "path": "docs/GLOSSARY.md",
          "sha256": "9e15a2dfbca5c5f61a7f490d59ee1ca41fbbb5fd618d0c582b56220287f92911"
        },
        {
          "kind": "source_read",
          "path": "docs/project/SO_QUYET_DINH_THAY_DOI.md",
          "sha256": "f694fef1e4f9235e7dd3401b3461dfaa823f5ca53b5fc984b2d678d302a011a2"
        },
        {
          "kind": "source_read",
          "path": "docs/project/project_charter.md",
          "sha256": "eaaae35b7ac956ade962ccc6d0e465a89247ccda3b49e95d4d814a21bd804145"
        },
        {
          "kind": "source_read",
          "path": "docs/project/HO_SO_SU_DUNG_AI.md",
          "sha256": "399d3a4539fa93e20be2c8865a197472e4a998620d86c1d2974a4fb1327dcab3"
        },
        {
          "kind": "draft_created",
          "path": "Research/20260926_AI_THUC_HIEN/TAI_LIEU/03_PHIEU_QUYET_DINH_VA_NHAN_VIEC.md",
          "sha256": "d5278f02cbbcfb5183c1a0d540635f988b12a0d5a158007170f3185739737760"
        }
      ],
      "planned_use_dates": [
        "2026-10-02",
        "2026-10-03",
        "2026-10-05",
        "2026-10-06",
        "2026-10-16",
        "2026-12-25"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-TL04",
      "title": "Dự thảo luồng tác vụ và giả thuyết nhu cầu",
      "parent_ids": [
        "R006",
        "R007"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/project/intended_use.md",
        "docs/research/instruments/W1_D04_OlderAdultSurvey_v0.1.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "frontend/src/App.vue"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/04_LUONG_TAC_VU_VA_GIA_THUYET.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL04_LUONG_TAC_VU_VA_GIA_THUYET.md",
      "depends_on": [],
      "steps": [
        "Tách luồng mô phỏng hiện có và luồng tương lai.",
        "Mô tả vai người dùng/chăm sóc, lỗi, dừng và nguồn.",
        "Đặt giả thuyết cùng bằng chứng quan sát cần sau GC."
      ],
      "acceptance": [
        "Luồng chữ và camera tách rõ.",
        "Không gọi giả thuyết là nhu cầu đã khảo sát."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "GVHD"
      ],
      "human_boundary": "NCS kiểm và tự viết phần nghiên cứu; review/phê duyệt, thực nghiệm và nhận việc thuộc người phù hợp.",
      "blocker": "",
      "execution_evidence": [
        {
          "kind": "source_read",
          "path": "AGENTS.md",
          "sha256": "dd5abcfbf567859ff37d97846273e104d7bb8306bbe2e5a76c9c0639ed6e571d"
        },
        {
          "kind": "source_read",
          "path": "README.md",
          "sha256": "175121304f1d98ae1c96b4a014f199c5e406fdfb7cd6d6846379bc040951425e"
        },
        {
          "kind": "source_read",
          "path": "docs/GLOSSARY.md",
          "sha256": "9e15a2dfbca5c5f61a7f490d59ee1ca41fbbb5fd618d0c582b56220287f92911"
        },
        {
          "kind": "source_read",
          "path": "docs/project/intended_use.md",
          "sha256": "7cb57b170f043949077196899660e37decfcefaad07b862510a0c942776cebc5"
        },
        {
          "kind": "source_read",
          "path": "docs/research/instruments/W1_D04_OlderAdultSurvey_v0.1.md",
          "sha256": "91e933c13c6255dfa52486fa93e9e5b46a420225e2aa708f6dd8409963cf58bc"
        },
        {
          "kind": "source_read",
          "path": "docs/research/plans/DAC_TA_CAMERA.md",
          "sha256": "4264951ffe7a3c0538cd0f09f0efe204a4de272dda3b47d5eb959c12af172c45"
        },
        {
          "kind": "source_read",
          "path": "frontend/src/App.vue",
          "sha256": "d6930d30143f43107383b10204e7e46cfc3b1e12c33a4c478eac64570da007bf"
        },
        {
          "kind": "draft_created",
          "path": "Research/20260926_AI_THUC_HIEN/TAI_LIEU/04_LUONG_TAC_VU_VA_GIA_THUYET.md",
          "sha256": "3de387d6f1bf7f4807d96bef5f5c96bf7c8f1aa4802cb7bc60b462ee46f19f8d"
        }
      ],
      "planned_use_dates": [
        "2026-09-30",
        "2026-10-01"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-TL05",
      "title": "Rà công cụ nhu cầu và soạn sửa nháp",
      "parent_ids": [
        "R008",
        "R009",
        "R006"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/instruments/W1_D04_OlderAdultSurvey_v0.1.md",
        "docs/research/instruments/W1_D04_ExpertInterviewGuide_v0.1.md",
        "docs/legal/W1_D04_ConsentForm_DRAFT.md",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/05_RA_SOAT_CONG_CU_NHU_CAU.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL05_RA_SOAT_CONG_CU_NHU_CAU.md",
      "depends_on": [],
      "steps": [
        "Đánh dấu câu/ID và vấn đề dẫn dắt, thu thừa hoặc cam kết vượt chứng cứ.",
        "Đề nghị câu thay thế cụ thể và bảng ánh xạ phiên bản.",
        "Giữ review y khoa và cho phép dùng thuộc con người."
      ],
      "acceptance": [
        "Có phát hiện B3, tuổi, giọng nói, ghi âm và đồng ý camera.",
        "Câu mới là nháp, chưa được phép thu."
      ],
      "reviewer_roles": [
        "NCS1",
        "GVHD",
        "CVYK"
      ],
      "human_boundary": "NCS kiểm và tự viết phần nghiên cứu; review/phê duyệt, thực nghiệm và nhận việc thuộc người phù hợp.",
      "blocker": "",
      "execution_evidence": [
        {
          "kind": "source_read",
          "path": "AGENTS.md",
          "sha256": "dd5abcfbf567859ff37d97846273e104d7bb8306bbe2e5a76c9c0639ed6e571d"
        },
        {
          "kind": "source_read",
          "path": "README.md",
          "sha256": "175121304f1d98ae1c96b4a014f199c5e406fdfb7cd6d6846379bc040951425e"
        },
        {
          "kind": "source_read",
          "path": "docs/GLOSSARY.md",
          "sha256": "9e15a2dfbca5c5f61a7f490d59ee1ca41fbbb5fd618d0c582b56220287f92911"
        },
        {
          "kind": "source_read",
          "path": "docs/research/instruments/W1_D04_OlderAdultSurvey_v0.1.md",
          "sha256": "91e933c13c6255dfa52486fa93e9e5b46a420225e2aa708f6dd8409963cf58bc"
        },
        {
          "kind": "source_read",
          "path": "docs/research/instruments/W1_D04_ExpertInterviewGuide_v0.1.md",
          "sha256": "fe071db7519b9a007aea6e66663507620c8f829dc3319110646ef93e589de5b1"
        },
        {
          "kind": "source_read",
          "path": "docs/legal/W1_D04_ConsentForm_DRAFT.md",
          "sha256": "341c1a695d4238a050d9ba57727e1aafa68d3656a494fcbbe2c245dbc765d53e"
        },
        {
          "kind": "source_read",
          "path": "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
          "sha256": "8f132a4c6a7c0827f865427fc9209210fc8a486bae62a8880d19a74fa25e79df"
        },
        {
          "kind": "draft_created",
          "path": "Research/20260926_AI_THUC_HIEN/TAI_LIEU/05_RA_SOAT_CONG_CU_NHU_CAU.md",
          "sha256": "3d5caecdf1eaf4427c2e47eceefa2f4c439f584b59b736eeb5e884743419af0e"
        }
      ],
      "planned_use_dates": [
        "2026-09-30",
        "2026-10-01",
        "2026-10-03",
        "2026-10-07"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-TL06",
      "title": "Soạn sổ quản trị và kịch bản sự cố ngoại tuyến",
      "parent_ids": [
        "A18",
        "R066",
        "R067",
        "R068",
        "R116",
        "R117",
        "CORE-W1",
        "CORE-M1"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
        "backend/app/main.py",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "safety/risk_register.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/06_SO_TAY_QUAN_TRI_VA_SU_CO_NHAP.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL06_SO_TAY_QUAN_TRI_VA_SU_CO_NHAP.md",
      "depends_on": [],
      "steps": [
        "Nối trạng thái thực với hành động dừng/khởi động và chuyển vai.",
        "Soạn kịch bản tổng hợp API/DB/khóa/nội dung/rút dữ liệu.",
        "Tách tuần/tháng và nhánh chữ độc lập; để kết quả diễn tập trống."
      ],
      "acceptance": [
        "503 đúng không được sửa bằng khóa hoặc mở dịch vụ.",
        "Không giả diễn tập SQL hay thời gian phục hồi."
      ],
      "reviewer_roles": [
        "NCS1",
        "OPS",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS kiểm và tự viết phần nghiên cứu; review/phê duyệt, thực nghiệm và nhận việc thuộc người phù hợp.",
      "blocker": "",
      "execution_evidence": [
        {
          "kind": "source_read",
          "path": "AGENTS.md",
          "sha256": "dd5abcfbf567859ff37d97846273e104d7bb8306bbe2e5a76c9c0639ed6e571d"
        },
        {
          "kind": "source_read",
          "path": "README.md",
          "sha256": "175121304f1d98ae1c96b4a014f199c5e406fdfb7cd6d6846379bc040951425e"
        },
        {
          "kind": "source_read",
          "path": "docs/GLOSSARY.md",
          "sha256": "9e15a2dfbca5c5f61a7f490d59ee1ca41fbbb5fd618d0c582b56220287f92911"
        },
        {
          "kind": "source_read",
          "path": "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
          "sha256": "79bb1b1f25ebd96838cd82a19486c80db76844a8b3e9a52f2964c4cdfefc7fcc"
        },
        {
          "kind": "source_read",
          "path": "backend/app/main.py",
          "sha256": "2a6b3222df07fc485cce88257b12333a8697c6a33181b40ae971ec7582d61f39"
        },
        {
          "kind": "source_read",
          "path": "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
          "sha256": "8f132a4c6a7c0827f865427fc9209210fc8a486bae62a8880d19a74fa25e79df"
        },
        {
          "kind": "source_read",
          "path": "safety/risk_register.md",
          "sha256": "0a8b3303151cf87acf2620329c445d67cfa4c2dd9b7ce1478695b729cdf975ee"
        },
        {
          "kind": "draft_created",
          "path": "Research/20260926_AI_THUC_HIEN/TAI_LIEU/06_SO_TAY_QUAN_TRI_VA_SU_CO_NHAP.md",
          "sha256": "d58698207a45f5dc429c5f61946c53dd999dc37518b5ed88199028bf8658cce6"
        }
      ],
      "planned_use_dates": [
        "2027-01-19",
        "2027-08-27",
        "2027-08-28",
        "2027-08-30",
        "2027-08-31",
        "2027-09-04",
        "2028-03-08",
        "2028-03-31",
        "2028-05-19",
        "2028-05-20"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-TL07",
      "title": "Hướng dẫn bản mô phỏng và phần chờ UI thật",
      "parent_ids": [
        "A19",
        "R069",
        "R070",
        "R071",
        "C21",
        "C22"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "community/HUONG_DAN_BAN_MO_PHONG.md",
        "frontend/src/App.vue",
        "frontend/src/demo.js",
        "frontend/DAC_TA_GIAO_DIEN_VA_TRO_NANG.md",
        "docs/project/intended_use.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/07_HUONG_DAN_NGUOI_XEM_MO_PHONG.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL07_HUONG_DAN_NGUOI_XEM_MO_PHONG.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu đúng tên nút, mã mẫu, reset và mức chữ.",
        "Viết hướng dẫn đọc được cho người xem/người hỗ trợ.",
        "Liệt kê phần hỏi/nguồn/cờ đỏ/camera cần UI thật."
      ],
      "acceptance": [
        "Không bịa ảnh chụp hoặc nút nhập.",
        "Mọi bước đang có khớp mã; thiếu UI được nêu."
      ],
      "reviewer_roles": [
        "NCS1",
        "GVHD",
        "CVYK"
      ],
      "human_boundary": "NCS kiểm và tự viết phần nghiên cứu; review/phê duyệt, thực nghiệm và nhận việc thuộc người phù hợp.",
      "blocker": "",
      "execution_evidence": [
        {
          "kind": "source_read",
          "path": "AGENTS.md",
          "sha256": "dd5abcfbf567859ff37d97846273e104d7bb8306bbe2e5a76c9c0639ed6e571d"
        },
        {
          "kind": "source_read",
          "path": "README.md",
          "sha256": "175121304f1d98ae1c96b4a014f199c5e406fdfb7cd6d6846379bc040951425e"
        },
        {
          "kind": "source_read",
          "path": "docs/GLOSSARY.md",
          "sha256": "9e15a2dfbca5c5f61a7f490d59ee1ca41fbbb5fd618d0c582b56220287f92911"
        },
        {
          "kind": "source_read",
          "path": "community/HUONG_DAN_BAN_MO_PHONG.md",
          "sha256": "1c8e7e71669a10a9660f827377badd4e8c54c5b625a936821e179027158b991d"
        },
        {
          "kind": "source_read",
          "path": "frontend/src/App.vue",
          "sha256": "d6930d30143f43107383b10204e7e46cfc3b1e12c33a4c478eac64570da007bf"
        },
        {
          "kind": "source_read",
          "path": "frontend/src/demo.js",
          "sha256": "61986754670ba66ec4095e4a2777a0b7bdadd217a64da7b4d8ba03420e79a216"
        },
        {
          "kind": "source_read",
          "path": "frontend/DAC_TA_GIAO_DIEN_VA_TRO_NANG.md",
          "sha256": "2da95c698ecdeb2c04a71f1876eabba63c0acdc60bb6f30702c5bafa81a3356a"
        },
        {
          "kind": "source_read",
          "path": "docs/project/intended_use.md",
          "sha256": "7cb57b170f043949077196899660e37decfcefaad07b862510a0c942776cebc5"
        },
        {
          "kind": "draft_created",
          "path": "Research/20260926_AI_THUC_HIEN/TAI_LIEU/07_HUONG_DAN_NGUOI_XEM_MO_PHONG.md",
          "sha256": "f383f9160b5e926e79930312c99417d90cd36a1d78439af8053c6b5f686c13ef"
        }
      ],
      "planned_use_dates": [
        "2027-04-09",
        "2027-04-10",
        "2027-04-12",
        "2027-04-13",
        "2027-04-15",
        "2027-04-16",
        "2028-04-03",
        "2028-04-04",
        "2028-04-06"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-TL08",
      "title": "Soạn cài đặt, nâng cấp, gỡ và xử lý lỗi ngoại tuyến",
      "parent_ids": [
        "A20",
        "R072",
        "R073",
        "R074"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "deployment/iis/W1_D06_IIS_Config_Guide.md",
        "docs/guides/MOI_TRUONG_VA_DONG_GOP.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
        "tools/KIEM_TRA_MOI_TRUONG_SACH.ps1",
        "frontend/README.md",
        "backend/README.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/08_CAI_DAT_NANG_CAP_GO_NHAP.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL08_CAI_DAT_NANG_CAP_GO_NHAP.md",
      "depends_on": [],
      "steps": [
        "Đọc lệnh và script thực, phân biệt kiểm sạch và triển khai.",
        "Ghi điểm kiểm sau bước, quay lại, dừng và gỡ đúng phạm vi.",
        "Nêu sai khác guide IIS và phiếu OPS làm độc lập."
      ],
      "acceptance": [
        "Không có lệnh phá dữ liệu hoặc bí mật.",
        "Không tuyên bố cài thành công trong lần soạn."
      ],
      "reviewer_roles": [
        "NCS1",
        "OPS",
        "REVIEW_TECH"
      ],
      "human_boundary": "NCS kiểm và tự viết phần nghiên cứu; review/phê duyệt, thực nghiệm và nhận việc thuộc người phù hợp.",
      "blocker": "",
      "execution_evidence": [
        {
          "kind": "source_read",
          "path": "AGENTS.md",
          "sha256": "dd5abcfbf567859ff37d97846273e104d7bb8306bbe2e5a76c9c0639ed6e571d"
        },
        {
          "kind": "source_read",
          "path": "README.md",
          "sha256": "175121304f1d98ae1c96b4a014f199c5e406fdfb7cd6d6846379bc040951425e"
        },
        {
          "kind": "source_read",
          "path": "docs/GLOSSARY.md",
          "sha256": "9e15a2dfbca5c5f61a7f490d59ee1ca41fbbb5fd618d0c582b56220287f92911"
        },
        {
          "kind": "source_read",
          "path": "deployment/iis/W1_D06_IIS_Config_Guide.md",
          "sha256": "340a53896c4f55f90e7c16c51d2db2272685da240e05a77563f25d2a19e617cd"
        },
        {
          "kind": "source_read",
          "path": "docs/guides/MOI_TRUONG_VA_DONG_GOP.md",
          "sha256": "4a1a848579a3d6a40e8fa1ffbe2d44da2ab3ff10431b8fcb1471fd31b060322f"
        },
        {
          "kind": "source_read",
          "path": "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
          "sha256": "79bb1b1f25ebd96838cd82a19486c80db76844a8b3e9a52f2964c4cdfefc7fcc"
        },
        {
          "kind": "source_read",
          "path": "tools/KIEM_TRA_MOI_TRUONG_SACH.ps1",
          "sha256": "39090e4a23799ce3410bad53357763cd3d79a3a1a821a3b068726dcc20e62e5d"
        },
        {
          "kind": "source_read",
          "path": "frontend/README.md",
          "sha256": "6bdaeac7e9978621e07c22f1ba787bf85ba5aac3d244e2a6889952a1b2e355f6"
        },
        {
          "kind": "source_read",
          "path": "backend/README.md",
          "sha256": "51ffea2ed03e684b03fe0f730270ff0fe8705143e9f506750720a313cea00cbc"
        },
        {
          "kind": "draft_created",
          "path": "Research/20260926_AI_THUC_HIEN/TAI_LIEU/08_CAI_DAT_NANG_CAP_GO_NHAP.md",
          "sha256": "3208793f5b921ccd4a493e5bae816f86775f395277654ecf35981953c4f2c423"
        }
      ],
      "planned_use_dates": [
        "2027-08-27",
        "2027-08-28",
        "2027-09-01",
        "2027-09-03",
        "2027-09-04",
        "2027-09-07",
        "2027-09-09"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-TL09",
      "title": "Soạn bài thực hành và phiếu hỗ trợ",
      "parent_ids": [
        "R091",
        "R092",
        "R093",
        "C23"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "community/HUONG_DAN_BAN_MO_PHONG.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/09_BAI_THUC_HANH_VA_HO_TRO.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL09_BAI_THUC_HANH_VA_HO_TRO.md",
      "depends_on": [],
      "steps": [
        "Giao tác vụ đúng demo; nêu điều quan sát và giới hạn.",
        "Tạo phiếu tự làm lại, dừng tự nguyện và chuyển lỗi.",
        "Tách bài OPS, hỗ trợ camera và giờ/kênh chưa nhận."
      ],
      "acceptance": [
        "Không điền người đã đào tạo.",
        "Không coi bài thực hành giấy là thử có người."
      ],
      "reviewer_roles": [
        "NCS1",
        "GVHD",
        "CVYK"
      ],
      "human_boundary": "NCS kiểm và tự viết phần nghiên cứu; review/phê duyệt, thực nghiệm và nhận việc thuộc người phù hợp.",
      "blocker": "",
      "execution_evidence": [
        {
          "kind": "source_read",
          "path": "AGENTS.md",
          "sha256": "dd5abcfbf567859ff37d97846273e104d7bb8306bbe2e5a76c9c0639ed6e571d"
        },
        {
          "kind": "source_read",
          "path": "README.md",
          "sha256": "175121304f1d98ae1c96b4a014f199c5e406fdfb7cd6d6846379bc040951425e"
        },
        {
          "kind": "source_read",
          "path": "docs/GLOSSARY.md",
          "sha256": "9e15a2dfbca5c5f61a7f490d59ee1ca41fbbb5fd618d0c582b56220287f92911"
        },
        {
          "kind": "source_read",
          "path": "community/HUONG_DAN_BAN_MO_PHONG.md",
          "sha256": "1c8e7e71669a10a9660f827377badd4e8c54c5b625a936821e179027158b991d"
        },
        {
          "kind": "source_read",
          "path": "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
          "sha256": "79bb1b1f25ebd96838cd82a19486c80db76844a8b3e9a52f2964c4cdfefc7fcc"
        },
        {
          "kind": "source_read",
          "path": "docs/research/plans/DAC_TA_CAMERA.md",
          "sha256": "4264951ffe7a3c0538cd0f09f0efe204a4de272dda3b47d5eb959c12af172c45"
        },
        {
          "kind": "source_read",
          "path": "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
          "sha256": "8f132a4c6a7c0827f865427fc9209210fc8a486bae62a8880d19a74fa25e79df"
        },
        {
          "kind": "draft_created",
          "path": "Research/20260926_AI_THUC_HIEN/TAI_LIEU/09_BAI_THUC_HANH_VA_HO_TRO.md",
          "sha256": "be17eeb92b648f77100baa940dd9b1cd94025551fee752b88dff0728f6e5073d"
        }
      ],
      "planned_use_dates": [
        "2027-04-17",
        "2027-09-01",
        "2027-09-04",
        "2027-09-10",
        "2027-09-11",
        "2028-04-08",
        "2028-04-12"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-TL10",
      "title": "Chuẩn bị phiếu nhất quán phương pháp và dữ liệu",
      "parent_ids": [
        "R086",
        "R087",
        "R088",
        "R089",
        "R090",
        "GC",
        "R094",
        "R095",
        "PILOT-CORE",
        "R098"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/instruments/W1_D04_OlderAdultSurvey_v0.1.md",
        "docs/legal/W1_D04_ConsentForm_DRAFT.md",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "docs/project/HO_SO_SU_DUNG_AI.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/10_GOI_CHUAN_BI_NGHIEN_CUU.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL10_GOI_CHUAN_BI_NGHIEN_CUU.md",
      "depends_on": [],
      "steps": [
        "Soạn câu hỏi kiểm phương pháp NCS và danh mục trường đề nghị.",
        "Tạo danh mục hồ sơ GC, phiếu lượt trống và kiểm khóa dữ liệu.",
        "Giữ 10 lượt là dự toán; không tạo đồng ý/dữ liệu thật."
      ],
      "acceptance": [
        "Không viết thay câu hỏi/phương pháp bản đầu bắt buộc.",
        "Mọi trường thu là đề nghị cần xét."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "GVHD"
      ],
      "human_boundary": "NCS kiểm và tự viết phần nghiên cứu; review/phê duyệt, thực nghiệm và nhận việc thuộc người phù hợp.",
      "blocker": "",
      "execution_evidence": [
        {
          "kind": "source_read",
          "path": "AGENTS.md",
          "sha256": "dd5abcfbf567859ff37d97846273e104d7bb8306bbe2e5a76c9c0639ed6e571d"
        },
        {
          "kind": "source_read",
          "path": "README.md",
          "sha256": "175121304f1d98ae1c96b4a014f199c5e406fdfb7cd6d6846379bc040951425e"
        },
        {
          "kind": "source_read",
          "path": "docs/GLOSSARY.md",
          "sha256": "9e15a2dfbca5c5f61a7f490d59ee1ca41fbbb5fd618d0c582b56220287f92911"
        },
        {
          "kind": "source_read",
          "path": "docs/research/instruments/W1_D04_OlderAdultSurvey_v0.1.md",
          "sha256": "91e933c13c6255dfa52486fa93e9e5b46a420225e2aa708f6dd8409963cf58bc"
        },
        {
          "kind": "source_read",
          "path": "docs/legal/W1_D04_ConsentForm_DRAFT.md",
          "sha256": "341c1a695d4238a050d9ba57727e1aafa68d3656a494fcbbe2c245dbc765d53e"
        },
        {
          "kind": "source_read",
          "path": "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
          "sha256": "8f132a4c6a7c0827f865427fc9209210fc8a486bae62a8880d19a74fa25e79df"
        },
        {
          "kind": "source_read",
          "path": "docs/research/plans/DAC_TA_CAMERA.md",
          "sha256": "4264951ffe7a3c0538cd0f09f0efe204a4de272dda3b47d5eb959c12af172c45"
        },
        {
          "kind": "source_read",
          "path": "docs/project/HO_SO_SU_DUNG_AI.md",
          "sha256": "399d3a4539fa93e20be2c8865a197472e4a998620d86c1d2974a4fb1327dcab3"
        },
        {
          "kind": "draft_created",
          "path": "Research/20260926_AI_THUC_HIEN/TAI_LIEU/10_GOI_CHUAN_BI_NGHIEN_CUU.md",
          "sha256": "597ff7cf9ffa085446790f8129bee5872a8ae4418a5be8e8201ec8995b09ae66"
        }
      ],
      "planned_use_dates": [
        "2026-10-22",
        "2026-10-23",
        "2026-10-24",
        "2026-10-26",
        "2026-10-27",
        "2026-10-29",
        "2026-10-31",
        "2026-11-03",
        "2026-11-05",
        "2026-11-07",
        "2026-11-10",
        "2027-11-17",
        "2027-11-24",
        "2027-11-25",
        "2027-11-26",
        "2027-11-27",
        "2027-12-01",
        "2027-12-04",
        "2027-12-08",
        "2027-12-11",
        "2027-12-15",
        "2027-12-18",
        "2027-12-22",
        "2027-12-25",
        "2027-12-29",
        "2028-01-05",
        "2028-01-08",
        "2028-01-11",
        "2028-01-13"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-TL11",
      "title": "Kiểm nhất quán khung báo cáo và phiếu NCS review",
      "parent_ids": [
        "R099",
        "R100",
        "R106",
        "R107",
        "R108",
        "R109",
        "R110",
        "CORE-DOC",
        "CORE-REV"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/research/reports/OUTLINE_BAO_CAO_15_TRANG.md",
        "docs/research/requirements/PHU_LUC_6_MAU_BAO_CAO_KET_QUA.md",
        "docs/project/HO_SO_SU_DUNG_AI.md",
        "docs/guides/TEST_REPORT_TEMPLATE.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/11_KIEM_NHAT_QUAN_HO_SO_NGHIEN_CUU.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL11_KIEM_NHAT_QUAN_HO_SO_NGHIEN_CUU.md",
      "depends_on": [],
      "steps": [
        "Đối chiếu số trang, số lượng mục tiêu, hiện trạng mã và phạm vi.",
        "Ghi phát hiện theo mục, không viết lại kết luận NCS.",
        "Soạn phiếu kiểm mẫu số, dữ liệu thiếu, quyền và đóng góp."
      ],
      "acceptance": [
        "Có phép cộng phân trang và phát hiện cụ thể trong khung.",
        "Không tự viết báo cáo kết quả hoặc danh mục tham khảo khởi đầu."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "GVHD"
      ],
      "human_boundary": "NCS kiểm và tự viết phần nghiên cứu; review/phê duyệt, thực nghiệm và nhận việc thuộc người phù hợp.",
      "blocker": "",
      "execution_evidence": [
        {
          "kind": "source_read",
          "path": "AGENTS.md",
          "sha256": "dd5abcfbf567859ff37d97846273e104d7bb8306bbe2e5a76c9c0639ed6e571d"
        },
        {
          "kind": "source_read",
          "path": "README.md",
          "sha256": "175121304f1d98ae1c96b4a014f199c5e406fdfb7cd6d6846379bc040951425e"
        },
        {
          "kind": "source_read",
          "path": "docs/GLOSSARY.md",
          "sha256": "9e15a2dfbca5c5f61a7f490d59ee1ca41fbbb5fd618d0c582b56220287f92911"
        },
        {
          "kind": "source_read",
          "path": "docs/research/reports/OUTLINE_BAO_CAO_15_TRANG.md",
          "sha256": "1cb8f4c777243df789272fc9a9fa9df288677e92377161a3bd69cdea7c54eb6c"
        },
        {
          "kind": "source_read",
          "path": "docs/research/requirements/PHU_LUC_6_MAU_BAO_CAO_KET_QUA.md",
          "sha256": "8b8592a9cd34de4f45e1f2070c4e15c414b1c4c77ae564ec9c60db85ff0e2acb"
        },
        {
          "kind": "source_read",
          "path": "docs/project/HO_SO_SU_DUNG_AI.md",
          "sha256": "399d3a4539fa93e20be2c8865a197472e4a998620d86c1d2974a4fb1327dcab3"
        },
        {
          "kind": "source_read",
          "path": "docs/guides/TEST_REPORT_TEMPLATE.md",
          "sha256": "c384c54eb78dc98d99f3d9f60d2f7d024c49c942694be3be7f24a71071a10df5"
        },
        {
          "kind": "draft_created",
          "path": "Research/20260926_AI_THUC_HIEN/TAI_LIEU/11_KIEM_NHAT_QUAN_HO_SO_NGHIEN_CUU.md",
          "sha256": "e371dc59a03f606015320489663ad58353d73058f80ae2663a4ad1e20e58fb11"
        }
      ],
      "planned_use_dates": [
        "2028-01-14",
        "2028-01-15",
        "2028-01-17",
        "2028-01-18",
        "2028-01-21",
        "2028-01-22",
        "2028-01-27",
        "2028-01-28",
        "2028-01-29",
        "2028-02-18",
        "2028-04-03",
        "2028-04-04",
        "2028-04-05",
        "2028-04-06",
        "2028-04-07",
        "2028-04-08",
        "2028-04-10",
        "2028-04-11",
        "2028-04-14",
        "2028-04-15",
        "2028-04-21",
        "2028-04-22",
        "2028-04-24"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-TL12",
      "title": "Chuẩn bị danh mục bàn giao và kiểm nhận",
      "parent_ids": [
        "R103",
        "GD-CORE",
        "R104",
        "R105",
        "R111",
        "R112",
        "GD",
        "R113",
        "R114",
        "R115",
        "R120",
        "CORE-DOC"
      ],
      "mode": "READY",
      "status": "AI_DRAFT_READY",
      "inputs": [
        "AGENTS.md",
        "README.md",
        "docs/GLOSSARY.md",
        "docs/guides/TEST_REPORT_TEMPLATE.md",
        "docs/project/HO_SO_SU_DUNG_AI.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
        "docs/research/plans/DAC_TA_CAMERA.md"
      ],
      "outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/12_DANH_MUC_BAN_GIAO_VA_KIEM_NHAN.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL12_DANH_MUC_BAN_GIAO_VA_KIEM_NHAN.md",
      "depends_on": [],
      "steps": [
        "Liệt kê thành phần có/chưa có và chứng cứ cần trước nhận.",
        "Tách chữ độc lập với gói kết hợp.",
        "Soạn phiếu phiên bản/hash/quyền và vai sau bàn giao."
      ],
      "acceptance": [
        "Không ghi đã cài, đã nhận khóa hoặc đạt GD.",
        "Phép kiểm ngoại tuyến không dùng nghiệm thu hỏi đáp thật."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "GVHD"
      ],
      "human_boundary": "NCS kiểm và tự viết phần nghiên cứu; review/phê duyệt, thực nghiệm và nhận việc thuộc người phù hợp.",
      "blocker": "",
      "execution_evidence": [
        {
          "kind": "source_read",
          "path": "AGENTS.md",
          "sha256": "dd5abcfbf567859ff37d97846273e104d7bb8306bbe2e5a76c9c0639ed6e571d"
        },
        {
          "kind": "source_read",
          "path": "README.md",
          "sha256": "175121304f1d98ae1c96b4a014f199c5e406fdfb7cd6d6846379bc040951425e"
        },
        {
          "kind": "source_read",
          "path": "docs/GLOSSARY.md",
          "sha256": "9e15a2dfbca5c5f61a7f490d59ee1ca41fbbb5fd618d0c582b56220287f92911"
        },
        {
          "kind": "source_read",
          "path": "docs/guides/TEST_REPORT_TEMPLATE.md",
          "sha256": "c384c54eb78dc98d99f3d9f60d2f7d024c49c942694be3be7f24a71071a10df5"
        },
        {
          "kind": "source_read",
          "path": "docs/project/HO_SO_SU_DUNG_AI.md",
          "sha256": "399d3a4539fa93e20be2c8865a197472e4a998620d86c1d2974a4fb1327dcab3"
        },
        {
          "kind": "source_read",
          "path": "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
          "sha256": "79bb1b1f25ebd96838cd82a19486c80db76844a8b3e9a52f2964c4cdfefc7fcc"
        },
        {
          "kind": "source_read",
          "path": "docs/research/plans/DAC_TA_CAMERA.md",
          "sha256": "4264951ffe7a3c0538cd0f09f0efe204a4de272dda3b47d5eb959c12af172c45"
        },
        {
          "kind": "draft_created",
          "path": "Research/20260926_AI_THUC_HIEN/TAI_LIEU/12_DANH_MUC_BAN_GIAO_VA_KIEM_NHAN.md",
          "sha256": "3564b8dc4e572868f4251f141252b0879c4c8e0d05c6b0bd49bf9524a921d1f0"
        }
      ],
      "planned_use_dates": [
        "2028-01-27",
        "2028-01-28",
        "2028-01-29",
        "2028-02-18",
        "2028-02-25",
        "2028-02-26",
        "2028-02-28",
        "2028-04-25",
        "2028-04-26",
        "2028-04-28",
        "2028-05-05",
        "2028-05-06",
        "2028-05-08",
        "2028-05-09",
        "2028-05-10",
        "2028-06-16"
      ],
      "execution_date": "2026-09-26"
    },
    {
      "id": "AI-TL13",
      "title": "Sửa công cụ và hướng dẫn theo phản hồi thật",
      "parent_ids": [
        "R009",
        "R071",
        "R097"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "community/HUONG_DAN_BAN_MO_PHONG.md",
        "docs/legal/W1_D04_ConsentForm_DRAFT.md",
        "docs/project/intended_use.md",
        "docs/research/instruments/W1_D04_ExpertInterviewGuide_v0.1.md",
        "docs/research/instruments/W1_D04_OlderAdultSurvey_v0.1.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "frontend/DAC_TA_GIAO_DIEN_VA_TRO_NANG.md"
      ],
      "outputs": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/13_SUA_THEO_PHAN_HOI_THAT.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL13_SUA_THEO_PHAN_HOI_THAT.md",
      "depends_on": [
        "AI-TL05",
        "AI-TL07"
      ],
      "steps": [
        "Đọc nhận xét đúng phiên bản, ghép từng ID câu hoặc bước hướng dẫn.",
        "Sửa nội dung được phép; giữ bản cũ và lý do.",
        "Báo nhận xét chưa xử lý; không giả khóa hoặc duyệt."
      ],
      "acceptance": [
        "Mọi thay đổi nối được phản hồi thật.",
        "Không tạo quan sát người dùng hoặc nhãn review."
      ],
      "reviewer_roles": [
        "NCS1",
        "GVHD",
        "CVYK"
      ],
      "human_boundary": "Người thực hiện giữ thu dữ liệu, nhận việc, phê duyệt và kết luận; AI chỉ đối soát hồ sơ đúng quyền.",
      "blocker": "Nhận xét R008/R070 và quan sát R096 chưa có bằng chứng được bàn giao.",
      "execution_evidence": [
        {
          "kind": "input_gap_checked",
          "detail": "Nhận xét R008/R070 và quan sát R096 chưa có bằng chứng được bàn giao."
        }
      ],
      "planned_use_dates": [
        "2026-10-07",
        "2027-04-16",
        "2028-01-12"
      ],
      "execution_date": null
    },
    {
      "id": "AI-TL14",
      "title": "Soạn hướng dẫn chữ và camera theo UI thật",
      "parent_ids": [
        "A19",
        "R069",
        "C21",
        "C22",
        "R091",
        "C23"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "community/HUONG_DAN_BAN_MO_PHONG.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "docs/project/intended_use.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "frontend/DAC_TA_GIAO_DIEN_VA_TRO_NANG.md"
      ],
      "outputs": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/14_HUONG_DAN_UI_THAT.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL14_HUONG_DAN_UI_THAT.md",
      "depends_on": [
        "AI-TL07",
        "AI-TL09"
      ],
      "steps": [
        "Mở UI hoặc ảnh đúng phiên bản được phép, đối chiếu mã và hành vi.",
        "Viết từng bước người dùng/chăm sóc; chèn ảnh đã rà riêng tư.",
        "Tách cờ đỏ, lỗi, dừng, nguồn và camera; chuyển CVYK xét câu an toàn."
      ],
      "acceptance": [
        "Tên nút/ảnh đúng bản.",
        "Không bịa tính năng, quy trình đo hoặc xác nhận WCAG."
      ],
      "reviewer_roles": [
        "NCS1",
        "GVHD",
        "CVYK"
      ],
      "human_boundary": "Người thực hiện giữ thu dữ liệu, nhận việc, phê duyệt và kết luận; AI chỉ đối soát hồ sơ đúng quyền.",
      "blocker": "Chưa có UI hỏi đáp/camera thật, quy trình đo được xét và ảnh đúng bản.",
      "execution_evidence": [
        {
          "kind": "input_gap_checked",
          "detail": "Chưa có UI hỏi đáp/camera thật, quy trình đo được xét và ảnh đúng bản."
        }
      ],
      "planned_use_dates": [
        "2027-04-09",
        "2027-04-10",
        "2027-04-12",
        "2027-04-17",
        "2028-04-03",
        "2028-04-04",
        "2028-04-06",
        "2028-04-08",
        "2028-04-12"
      ],
      "execution_date": null
    },
    {
      "id": "AI-TL15",
      "title": "Hoàn thiện sổ cài đặt và sự cố theo gói cùng diễn tập thật",
      "parent_ids": [
        "A18",
        "A20",
        "R066",
        "R072",
        "R074",
        "R093"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "community/HUONG_DAN_BAN_MO_PHONG.md",
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
        "deployment/iis/W1_D06_IIS_Config_Guide.md",
        "docs/guides/MOI_TRUONG_VA_DONG_GOP.md",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "safety/risk_register.md",
        "tools/KIEM_TRA_MOI_TRUONG_SACH.ps1"
      ],
      "outputs": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/15_SO_TAY_GOI_TRIEN_KHAI.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL15_SO_TAY_GOI_TRIEN_KHAI.md",
      "depends_on": [
        "AI-TL06",
        "AI-TL08"
      ],
      "steps": [
        "Đọc bản kê/hash/cấu hình và log diễn tập đã bỏ bí mật.",
        "Đối chiếu từng lệnh, quyền, điểm dừng, quay lại và dữ liệu còn lại.",
        "Sửa bước mơ hồ; báo thiếu bằng chứng; không tự tuyên bố OPS đã làm lại."
      ],
      "acceptance": [
        "Lệnh theo đúng gói và tham số máy.",
        "Mỗi kết quả thực dẫn log; không dùng hướng dẫn làm chứng cứ cài."
      ],
      "reviewer_roles": [
        "NCS1",
        "OPS",
        "REVIEW_TECH"
      ],
      "human_boundary": "Người thực hiện giữ thu dữ liệu, nhận việc, phê duyệt và kết luận; AI chỉ đối soát hồ sơ đúng quyền.",
      "blocker": "Chưa nhận gói R065, môi trường triển khai được giao và biên bản R066/R073.",
      "execution_evidence": [
        {
          "kind": "input_gap_checked",
          "detail": "Chưa nhận gói R065, môi trường triển khai được giao và biên bản R066/R073."
        }
      ],
      "planned_use_dates": [
        "2027-01-19",
        "2027-08-27",
        "2027-08-28",
        "2027-08-30",
        "2027-09-07",
        "2027-09-09",
        "2027-09-10",
        "2027-09-11"
      ],
      "execution_date": null
    },
    {
      "id": "AI-TL16",
      "title": "Kiểm dữ liệu và tính nhất quán bản đầu NCS",
      "parent_ids": [
        "R096",
        "R098",
        "R099",
        "R100",
        "R106",
        "R107",
        "R108",
        "R109",
        "R110",
        "CORE-DOC",
        "CORE-REV"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/guides/TEST_REPORT_TEMPLATE.md",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "docs/legal/W1_D04_ConsentForm_DRAFT.md",
        "docs/project/HO_SO_SU_DUNG_AI.md",
        "docs/project/intended_use.md",
        "docs/research/instruments/W1_D04_ExpertInterviewGuide_v0.1.md",
        "docs/research/instruments/W1_D04_OlderAdultSurvey_v0.1.md",
        "docs/research/plans/DAC_TA_CAMERA.md",
        "docs/research/reports/OUTLINE_BAO_CAO_15_TRANG.md",
        "docs/research/requirements/PHU_LUC_6_MAU_BAO_CAO_KET_QUA.md"
      ],
      "outputs": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/16_KIEM_BAN_DAU_VA_DU_LIEU.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL16_KIEM_BAN_DAU_VA_DU_LIEU.md",
      "depends_on": [
        "AI-TL10",
        "AI-TL11"
      ],
      "steps": [
        "Xác minh phạm vi đọc; chỉ nhận tập đã bỏ thông tin nhận diện theo quyền.",
        "Kiểm ID, thiếu/rút, mẫu số, bảng và kết quả mã tính; nêu sai khác.",
        "Đối chiếu câu kết luận với bảng, nguồn, phiên bản; trả phiếu lỗi không viết kết luận thay NCS."
      ],
      "acceptance": [
        "Không bù dữ liệu thiếu hoặc sinh người/lượt giả.",
        "NCS tự phân tích, diễn giải và quyết định sửa."
      ],
      "reviewer_roles": [
        "NCS1",
        "NCS2",
        "GVHD"
      ],
      "human_boundary": "Người thực hiện giữ thu dữ liệu, nhận việc, phê duyệt và kết luận; AI chỉ đối soát hồ sơ đúng quyền.",
      "blocker": "Chưa nhận tập dữ liệu hợp lệ, phương pháp khóa, mã tính và bản đầu do NCS tự viết.",
      "execution_evidence": [
        {
          "kind": "input_gap_checked",
          "detail": "Chưa nhận tập dữ liệu hợp lệ, phương pháp khóa, mã tính và bản đầu do NCS tự viết."
        }
      ],
      "planned_use_dates": [
        "2028-01-10",
        "2028-01-11",
        "2028-01-13",
        "2028-01-14",
        "2028-01-15",
        "2028-01-17",
        "2028-01-18",
        "2028-01-21",
        "2028-01-22",
        "2028-01-27",
        "2028-01-28",
        "2028-01-29",
        "2028-02-18",
        "2028-04-03",
        "2028-04-04",
        "2028-04-05",
        "2028-04-06",
        "2028-04-07",
        "2028-04-08",
        "2028-04-10",
        "2028-04-11",
        "2028-04-14",
        "2028-04-15",
        "2028-04-21",
        "2028-04-22",
        "2028-04-24"
      ],
      "execution_date": null
    },
    {
      "id": "AI-TL17",
      "title": "Tổng hợp lỗi vận hành và hỗ trợ từ hồ sơ thật",
      "parent_ids": [
        "R116",
        "R117",
        "CORE-W1",
        "CORE-M1"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "deployment/HUONG_DAN_VAN_HANH_VA_PHUC_HOI.md",
        "docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md",
        "safety/risk_register.md"
      ],
      "outputs": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/17_TONG_HOP_LOG_THAT.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL17_TONG_HOP_LOG_THAT.md",
      "depends_on": [
        "AI-TL06"
      ],
      "steps": [
        "Đọc log tối thiểu và phiếu theo phạm vi được phép.",
        "Nhóm lỗi theo tác vụ/phiên bản; tính số có mẫu số; loại trùng theo ID.",
        "Lập lỗi mở, người nhận thật và phần chưa nhận; tách nhánh chữ/camera."
      ],
      "acceptance": [
        "Không đưa dữ liệu cá nhân vào bảng chung.",
        "Không dùng mẫu giả thành số sự cố thực."
      ],
      "reviewer_roles": [
        "NCS1",
        "OPS",
        "REVIEW_TECH"
      ],
      "human_boundary": "Người thực hiện giữ thu dữ liệu, nhận việc, phê duyệt và kết luận; AI chỉ đối soát hồ sơ đúng quyền.",
      "blocker": "Chưa có bản được bàn giao và log/phiếu tuần đầu hoặc tháng đầu đúng quyền.",
      "execution_evidence": [
        {
          "kind": "input_gap_checked",
          "detail": "Chưa có bản được bàn giao và log/phiếu tuần đầu hoặc tháng đầu đúng quyền."
        }
      ],
      "planned_use_dates": [
        "2028-03-08",
        "2028-03-31",
        "2028-05-19",
        "2028-05-20"
      ],
      "execution_date": null
    },
    {
      "id": "AI-TL18",
      "title": "Đối soát gói bàn giao và chứng cứ quyền thực",
      "parent_ids": [
        "R103",
        "R111",
        "R112",
        "R120",
        "GD-CORE",
        "GD"
      ],
      "mode": "CONDITIONAL",
      "status": "WAITING_INPUT",
      "inputs": [
        "docs/guides/TEST_REPORT_TEMPLATE.md",
        "docs/project/HO_SO_SU_DUNG_AI.md",
        "docs/research/reports/OUTLINE_BAO_CAO_15_TRANG.md",
        "docs/research/requirements/PHU_LUC_6_MAU_BAO_CAO_KET_QUA.md"
      ],
      "outputs": [],
      "expected_outputs": [
        "Research/20260926_AI_THUC_HIEN/TAI_LIEU/18_DOI_SOAT_GOI_BAN_GIAO.md"
      ],
      "prompt_path": "docs/research/prompts/20260926_2115_AI_TL/20260926_2115_PROMPT_AI_TL18_DOI_SOAT_GOI_BAN_GIAO.md",
      "depends_on": [
        "AI-TL12"
      ],
      "steps": [
        "So danh mục file/hash/phiên bản với gói và phạm vi quyết định thật.",
        "Đối chiếu đối tượng đọc, nguồn, hình, dữ liệu và lỗi mở.",
        "Trả danh sách đủ/thiếu; để kết luận nghiệm thu và nhận trách nhiệm cho người có quyền."
      ],
      "acceptance": [
        "Mỗi chứng cứ gắn đúng phiên bản.",
        "Không tự cấp quyền, nhận khóa hoặc ký bàn giao."
      ],
      "reviewer_roles": [
        "NCS1",
        "GVHD",
        "CVYK"
      ],
      "human_boundary": "Người thực hiện giữ thu dữ liệu, nhận việc, phê duyệt và kết luận; AI chỉ đối soát hồ sơ đúng quyền.",
      "blocker": "Chưa có gói ứng viên được nhận, quyết định quyền/cổng và xác nhận trách nhiệm sau bàn giao.",
      "execution_evidence": [
        {
          "kind": "input_gap_checked",
          "detail": "Chưa có gói ứng viên được nhận, quyết định quyền/cổng và xác nhận trách nhiệm sau bàn giao."
        }
      ],
      "planned_use_dates": [
        "2028-02-18",
        "2028-02-25",
        "2028-04-25",
        "2028-04-26",
        "2028-04-28",
        "2028-05-05",
        "2028-06-16"
      ],
      "execution_date": null
    }
  ],
  "parent_coverage": [
    {
      "parent_id": "R020",
      "ai_jobs": [
        "AI-YK01",
        "AI-YK02"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Đối chiếu nguồn, quyền và lô nội dung. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "R021",
      "ai_jobs": [
        "AI-YK05"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Rà nguồn chung cho ứng viên camera. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "R022",
      "ai_jobs": [
        "AI-YK04"
      ],
      "human_retained": "LEGAL giữ trách nhiệm thực hiện và nghiệm thu: Xác minh quyền nguồn và dịch vụ. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "Q03",
      "ai_jobs": [
        "AI-YK10"
      ],
      "human_retained": "LEGAL giữ trách nhiệm thực hiện và nghiệm thu: Phiên kết luận quyền nguồn và dịch vụ. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K01A",
      "ai_jobs": [
        "AI-YK19",
        "AI-YK11"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lô 1: đọc nguồn, hoàn thiện 5 thẻ và 5 FAQ. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K01B",
      "ai_jobs": [
        "AI-YK19"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Lô 1: review nội dung chuyên môn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K01C",
      "ai_jobs": [
        "AI-YK27"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lô 1: sửa và kiểm lại theo phản hồi. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K01D",
      "ai_jobs": [
        "AI-YK19",
        "AI-YK27"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Lô 1: phiên xét nội dung đã sửa. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "R031",
      "ai_jobs": [
        "AI-YK02",
        "AI-YK05"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Đối chiếu lô hiệu chỉnh với nhu cầu camera. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "R032",
      "ai_jobs": [
        "AI-YK10"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Tạo bản kê tri thức thật. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "GA",
      "ai_jobs": [
        "AI-YK10"
      ],
      "human_retained": "GVHD giữ trách nhiệm thực hiện và nghiệm thu: Phiên xét GA theo thẩm quyền. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "C01",
      "ai_jobs": [
        "AI-YK05"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: CAM-Y: hoàn thiện gói nguồn và đề xuất một chỉ số. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "C02",
      "ai_jobs": [
        "AI-YK04"
      ],
      "human_retained": "LEGAL giữ trách nhiệm thực hiện và nghiệm thu: Kiểm quyền nguồn và dữ liệu camera còn thiếu. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "C03",
      "ai_jobs": [
        "AI-YK06"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: CAM-Y: xét căn cứ và phạm vi một chỉ số. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "C04",
      "ai_jobs": [
        "AI-YK06"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: T14a: hoàn thiện quy trình đo và thiết kế. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "C05",
      "ai_jobs": [
        "AI-YK05"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Kiểm chéo CYK và giao tiếp chữ-camera. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "C06",
      "ai_jobs": [
        "AI-YK06"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Review protocol, nhãn và tiêu chí đo. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "C07",
      "ai_jobs": [
        "AI-YK06"
      ],
      "human_retained": "MEASURE giữ trách nhiệm thực hiện và nghiệm thu: Kiểm tính thực hiện được của chuẩn đối chiếu. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K02A",
      "ai_jobs": [
        "AI-YK20",
        "AI-YK12"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lô 2: đọc nguồn, hoàn thiện 5 thẻ và 5 FAQ. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K02B",
      "ai_jobs": [
        "AI-YK20"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Lô 2: review nội dung chuyên môn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K02C",
      "ai_jobs": [
        "AI-YK28"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lô 2: sửa và kiểm lại theo phản hồi. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K02D",
      "ai_jobs": [
        "AI-YK20",
        "AI-YK28"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Lô 2: phiên xét nội dung đã sửa. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K03A",
      "ai_jobs": [
        "AI-YK21",
        "AI-YK13"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lô 3: đọc nguồn, hoàn thiện 5 thẻ và 5 FAQ. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K03B",
      "ai_jobs": [
        "AI-YK21"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Lô 3: review nội dung chuyên môn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K03C",
      "ai_jobs": [
        "AI-YK29"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lô 3: sửa và kiểm lại theo phản hồi. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K03D",
      "ai_jobs": [
        "AI-YK21",
        "AI-YK29"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Lô 3: phiên xét nội dung đã sửa. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K04A",
      "ai_jobs": [
        "AI-YK22",
        "AI-YK14"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lô 4: đọc nguồn, hoàn thiện 5 thẻ và 5 FAQ. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K04B",
      "ai_jobs": [
        "AI-YK22"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Lô 4: review nội dung chuyên môn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K04C",
      "ai_jobs": [
        "AI-YK30"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lô 4: sửa và kiểm lại theo phản hồi. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K04D",
      "ai_jobs": [
        "AI-YK22",
        "AI-YK30"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Lô 4: phiên xét nội dung đã sửa. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K05A",
      "ai_jobs": [
        "AI-YK23",
        "AI-YK15"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lô 5: đọc nguồn, hoàn thiện 5 thẻ và 5 FAQ. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K05B",
      "ai_jobs": [
        "AI-YK23"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Lô 5: review nội dung chuyên môn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K05C",
      "ai_jobs": [
        "AI-YK31"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lô 5: sửa và kiểm lại theo phản hồi. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K05D",
      "ai_jobs": [
        "AI-YK23",
        "AI-YK31"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Lô 5: phiên xét nội dung đã sửa. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K06A",
      "ai_jobs": [
        "AI-YK24",
        "AI-YK16"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lô 6: đọc nguồn, hoàn thiện 5 thẻ và 5 FAQ. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K06B",
      "ai_jobs": [
        "AI-YK24"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Lô 6: review nội dung chuyên môn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K06C",
      "ai_jobs": [
        "AI-YK32"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lô 6: sửa và kiểm lại theo phản hồi. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K06D",
      "ai_jobs": [
        "AI-YK24",
        "AI-YK32"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Lô 6: phiên xét nội dung đã sửa. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K07A",
      "ai_jobs": [
        "AI-YK25",
        "AI-YK17"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lô 7: đọc nguồn, hoàn thiện 5 thẻ và 5 FAQ. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K07B",
      "ai_jobs": [
        "AI-YK25"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Lô 7: review nội dung chuyên môn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K07C",
      "ai_jobs": [
        "AI-YK33"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lô 7: sửa và kiểm lại theo phản hồi. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K07D",
      "ai_jobs": [
        "AI-YK25",
        "AI-YK33"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Lô 7: phiên xét nội dung đã sửa. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K08A",
      "ai_jobs": [
        "AI-YK26",
        "AI-YK18"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lô 8: đọc nguồn, hoàn thiện 5 thẻ và 5 FAQ. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K08B",
      "ai_jobs": [
        "AI-YK26"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Lô 8: review nội dung chuyên môn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K08C",
      "ai_jobs": [
        "AI-YK34"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lô 8: sửa và kiểm lại theo phản hồi. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "K08D",
      "ai_jobs": [
        "AI-YK26",
        "AI-YK34"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Lô 8: phiên xét nội dung đã sửa. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "R121",
      "ai_jobs": [
        "AI-YK09",
        "AI-YK37"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Đo và hiệu chỉnh dự toán lô sau. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "R122",
      "ai_jobs": [
        "AI-YK09",
        "AI-YK37"
      ],
      "human_retained": "GVHD giữ trách nhiệm thực hiện và nghiệm thu: Xem xét phạm vi và lịch sau lô đầu. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "C26",
      "ai_jobs": [
        "AI-YK06"
      ],
      "human_retained": "GVHD giữ trách nhiệm thực hiện và nghiệm thu: Review phương pháp camera trước xin phép. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-01",
      "ai_jobs": [
        "AI-YK01"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Kiểm kê nguồn, trang và phiên bản. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-02",
      "ai_jobs": [
        "AI-YK02"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Lập ma trận bao phủ và khoảng trống nguồn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-03",
      "ai_jobs": [
        "AI-YK03"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Viết quy tắc tìm và sàng lọc nguồn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-04",
      "ai_jobs": [
        "AI-YK03"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Thực hiện tìm, khử trùng và sàng lọc nguồn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-05",
      "ai_jobs": [
        "AI-YK04"
      ],
      "human_retained": "LEGAL giữ trách nhiệm thực hiện và nghiệm thu: Lập quyền thao tác cho nguồn mới. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-06",
      "ai_jobs": [
        "AI-YK03"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Rà hiện hành, khả năng áp dụng và mâu thuẫn nguồn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-TOOLS1",
      "ai_jobs": [
        "AI-YK07"
      ],
      "human_retained": " giữ trách nhiệm thực hiện và nghiệm thu: AI đề xuất công cụ bóc tách bằng dữ liệu tổng hợp. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-TOOLS2",
      "ai_jobs": [
        "AI-YK07"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: NCS đọc, triển khai và thử công cụ Markdown. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-07",
      "ai_jobs": [
        "AI-YK07"
      ],
      "human_retained": "REVIEW_TECH giữ trách nhiệm thực hiện và nghiệm thu: Kiểm độc lập công cụ và hợp đồng Markdown. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-08",
      "ai_jobs": [
        "AI-YK01",
        "AI-YK35"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Nhận mẫu có quyền và bóc tách thử. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-09",
      "ai_jobs": [
        "AI-YK35"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Kiểm chéo toàn bộ mẫu Markdown. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-10",
      "ai_jobs": [
        "AI-YK07"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Sửa mẫu và kiểm lại công cụ. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-11",
      "ai_jobs": [
        "AI-YK09",
        "AI-YK37"
      ],
      "human_retained": "GVHD giữ trách nhiệm thực hiện và nghiệm thu: Hiệu chỉnh phạm vi và ngân sách nguồn Markdown. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-12",
      "ai_jobs": [
        "AI-YK10"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lập bản kê Markdown nghiên cứu toàn phạm vi chọn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK01A",
      "ai_jobs": [
        "AI-YK11"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 1: bóc tách toàn tập trang chọn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK01B",
      "ai_jobs": [
        "AI-YK11",
        "AI-YK35"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 1: kiểm chéo mọi trang. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK01C",
      "ai_jobs": [
        "AI-YK11",
        "AI-YK27"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 1: xét mơ hồ chuyên môn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK01D",
      "ai_jobs": [
        "AI-YK11",
        "AI-YK27"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 1: sửa, chạy lại và chuyển xét lại. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK02A",
      "ai_jobs": [
        "AI-YK12"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 2: bóc tách toàn tập trang chọn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK02B",
      "ai_jobs": [
        "AI-YK12",
        "AI-YK35"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 2: kiểm chéo mọi trang. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK02C",
      "ai_jobs": [
        "AI-YK12",
        "AI-YK28"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 2: xét mơ hồ chuyên môn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK02D",
      "ai_jobs": [
        "AI-YK12",
        "AI-YK28"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 2: sửa, chạy lại và chuyển xét lại. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK03A",
      "ai_jobs": [
        "AI-YK13"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 3: bóc tách toàn tập trang chọn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK03B",
      "ai_jobs": [
        "AI-YK13",
        "AI-YK35"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 3: kiểm chéo mọi trang. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK03C",
      "ai_jobs": [
        "AI-YK13",
        "AI-YK29"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 3: xét mơ hồ chuyên môn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK03D",
      "ai_jobs": [
        "AI-YK13",
        "AI-YK29"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 3: sửa, chạy lại và chuyển xét lại. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK04A",
      "ai_jobs": [
        "AI-YK14"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 4: bóc tách toàn tập trang chọn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK04B",
      "ai_jobs": [
        "AI-YK14",
        "AI-YK35"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 4: kiểm chéo mọi trang. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK04C",
      "ai_jobs": [
        "AI-YK14",
        "AI-YK30"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 4: xét mơ hồ chuyên môn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK04D",
      "ai_jobs": [
        "AI-YK14",
        "AI-YK30"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 4: sửa, chạy lại và chuyển xét lại. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK05A",
      "ai_jobs": [
        "AI-YK15"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 5: bóc tách toàn tập trang chọn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK05B",
      "ai_jobs": [
        "AI-YK15",
        "AI-YK35"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 5: kiểm chéo mọi trang. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK05C",
      "ai_jobs": [
        "AI-YK15",
        "AI-YK31"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 5: xét mơ hồ chuyên môn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK05D",
      "ai_jobs": [
        "AI-YK15",
        "AI-YK31"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 5: sửa, chạy lại và chuyển xét lại. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK06A",
      "ai_jobs": [
        "AI-YK16"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 6: bóc tách toàn tập trang chọn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK06B",
      "ai_jobs": [
        "AI-YK16",
        "AI-YK35"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 6: kiểm chéo mọi trang. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK06C",
      "ai_jobs": [
        "AI-YK16",
        "AI-YK32"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 6: xét mơ hồ chuyên môn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK06D",
      "ai_jobs": [
        "AI-YK16",
        "AI-YK32"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 6: sửa, chạy lại và chuyển xét lại. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK07A",
      "ai_jobs": [
        "AI-YK17"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 7: bóc tách toàn tập trang chọn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK07B",
      "ai_jobs": [
        "AI-YK17",
        "AI-YK35"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 7: kiểm chéo mọi trang. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK07C",
      "ai_jobs": [
        "AI-YK17",
        "AI-YK33"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 7: xét mơ hồ chuyên môn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK07D",
      "ai_jobs": [
        "AI-YK17",
        "AI-YK33"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 7: sửa, chạy lại và chuyển xét lại. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK08A",
      "ai_jobs": [
        "AI-YK18"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 8: bóc tách toàn tập trang chọn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK08B",
      "ai_jobs": [
        "AI-YK18",
        "AI-YK35"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 8: kiểm chéo mọi trang. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK08C",
      "ai_jobs": [
        "AI-YK18",
        "AI-YK34"
      ],
      "human_retained": "CVYK giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 8: xét mơ hồ chuyên môn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "MK08D",
      "ai_jobs": [
        "AI-YK18",
        "AI-YK34"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Markdown lô 8: sửa, chạy lại và chuyển xét lại. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "C-SRC01",
      "ai_jobs": [
        "AI-YK05"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Camera: lập khoảng trống nguồn theo CYK. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "C-SRC02",
      "ai_jobs": [
        "AI-YK03",
        "AI-YK04"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Camera: tìm và sàng lọc nguồn quy trình. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "C-SRC03",
      "ai_jobs": [
        "AI-YK36"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Camera: tiếp nhận và bóc tách nguồn có quyền. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "C-SRC04",
      "ai_jobs": [
        "AI-YK36"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Camera: kiểm chéo toàn tập trang nguồn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "C-SRC05",
      "ai_jobs": [
        "AI-YK36"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Camera: sửa nguồn và bàn giao mã kiểm tra. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-M01",
      "ai_jobs": [
        "AI-YK09"
      ],
      "human_retained": "NCS1 giữ trách nhiệm thực hiện và nghiệm thu: Lập nhịp rà cập nhật, quyền và thu hồi nguồn. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-M02",
      "ai_jobs": [
        "AI-YK08"
      ],
      "human_retained": "NCS2 giữ trách nhiệm thực hiện và nghiệm thu: Thử truy ngược và bóc tách lại phần thay đổi. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "SRC-M03",
      "ai_jobs": [
        "AI-YK08"
      ],
      "human_retained": "REVIEW_TECH giữ trách nhiệm thực hiện và nghiệm thu: Kiểm chặn phục hồi dẫn xuất đã mất quyền. AI chỉ cung cấp phần chuẩn bị được liệt kê.",
      "reason": "AI đã làm phần hồ sơ/nháp hoặc ghi điều kiện riêng. Công việc gốc giữ người phụ trách, review và quyền quyết định."
    },
    {
      "parent_id": "R013",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT002"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của PREP. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R014",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT003"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R013. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R015",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "R016",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT005"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R013. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R017",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "A03",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT007"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R014, R015, R017. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R018",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT008"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của A03. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R019",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT009"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R018. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R039",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT011"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R019, R026, Q03, G0, SRC-07. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "A05",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT012",
        "AI-KT122"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R039. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R040",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT013",
        "AI-KT125"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của A05, R038. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R041",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT014"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R040. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R042",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT015"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R041. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R043",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT016"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R042, GA. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "A06",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT018"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R040. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R044",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT019"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của A06, R042. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R045",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT020"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R044. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R046",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT021"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R045. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R047",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT022"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R046. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R033",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT024"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của K01D. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R034",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "A07",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT026"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R034, R019. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R035",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT027"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của A07. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R036",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "R037",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT029"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R036. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R038",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT030"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R037. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "GCA",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "A08",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT033"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của GCA. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "C08",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT034"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của A08. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "C09",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT035"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của C08. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "C10",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT036"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của C09. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "C11",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "C12",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "C13",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "GC-C",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "C14",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "PILOT-CAM",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "C15",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "C16",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT044"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của C15. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "C17",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "GCB",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "A08I",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT047"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của GCB, R102. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "C18",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT048"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của A08I. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "C19",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT049"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của C18. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "C20",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT050"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của C19. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "C24",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "C25",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "C27",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "GCB-R",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "R010",
      "ai_jobs": [
        "AI-KT055",
        "AI-KT056"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R001. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "A09",
      "ai_jobs": [
        "AI-KT055",
        "AI-KT057"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R010. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R011",
      "ai_jobs": [
        "AI-KT055",
        "AI-KT058"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của A09. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R012",
      "ai_jobs": [
        "AI-KT055",
        "AI-KT059"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R011. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R023",
      "ai_jobs": [
        "AI-KT060",
        "AI-KT061"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R019. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R024",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "R025",
      "ai_jobs": [
        "AI-KT060",
        "AI-KT063"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R024. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R026",
      "ai_jobs": [
        "AI-KT060",
        "AI-KT064"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R025. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "A11",
      "ai_jobs": [
        "AI-KT065",
        "AI-KT066",
        "AI-KT123"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R019, R030. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R054",
      "ai_jobs": [
        "AI-KT065",
        "AI-KT067"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của A11. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R055",
      "ai_jobs": [
        "AI-KT065",
        "AI-KT068"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R054. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R056",
      "ai_jobs": [
        "AI-KT065",
        "AI-KT069"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R055. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R059",
      "ai_jobs": [
        "AI-KT070",
        "AI-KT071"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R030, R012, R026. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R059B",
      "ai_jobs": [
        "AI-KT070",
        "AI-KT072"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R059, R058. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R060",
      "ai_jobs": [
        "AI-KT070",
        "AI-KT073"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R059B. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R061",
      "ai_jobs": [
        "AI-KT070",
        "AI-KT074"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R060. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R027",
      "ai_jobs": [
        "AI-KT075",
        "AI-KT076"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của PREP. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R028",
      "ai_jobs": [
        "AI-KT075",
        "AI-KT077"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R027, R026, G0. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R029",
      "ai_jobs": [
        "AI-KT075",
        "AI-KT078"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R028, R012. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R030",
      "ai_jobs": [
        "AI-KT075",
        "AI-KT079"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R029. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R048",
      "ai_jobs": [
        "AI-KT080",
        "AI-KT081"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R019. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R049",
      "ai_jobs": [
        "AI-KT080",
        "AI-KT082"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R048. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R050",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "R051",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "R052",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "R053",
      "ai_jobs": [
        "AI-KT080",
        "AI-KT086"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R052. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R124",
      "ai_jobs": [
        "AI-KT080",
        "AI-KT087"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R083. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R079",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT089"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R053, R061, R065, R071, R077. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R080",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT090"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R079. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R081",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "R082",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "R083",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT093"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R080, R082. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R084",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT094",
        "AI-KT125"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R083. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R085",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "GB-R",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "R101",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT097"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R100, R097. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R102",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT098"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R101, R123. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R123",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "GB",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "R125",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "A16",
      "ai_jobs": [
        "AI-KT102",
        "AI-KT103",
        "AI-KT124"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R012, R026. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R057",
      "ai_jobs": [
        "AI-KT102",
        "AI-KT104"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của A16, R047, R056, R043. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R058",
      "ai_jobs": [
        "AI-KT102",
        "AI-KT105"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R057. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "C28",
      "ai_jobs": [
        "AI-KT102",
        "AI-KT106"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của C20, C27. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R062",
      "ai_jobs": [
        "AI-KT107",
        "AI-KT108"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R055. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R063",
      "ai_jobs": [
        "AI-KT107",
        "AI-KT109"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R059, R056, R062. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R063B",
      "ai_jobs": [
        "AI-KT107",
        "AI-KT110",
        "AI-KT121"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R063, R060. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R064",
      "ai_jobs": [
        "AI-KT107",
        "AI-KT111"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R063B, R060. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R065",
      "ai_jobs": [
        "AI-KT107",
        "AI-KT112",
        "AI-KT121"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R064. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R075",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "parent_id": "A22",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT115",
        "AI-KT121"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R075, R019. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R076",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT116",
        "AI-KT121"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của A22, GA. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R077",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT117",
        "AI-KT121"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R076. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R078",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT118"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R077, R065, SRC-M03. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R118",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT119"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R116. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R119",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT120"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Đã chuẩn bị đặc tả/câu hỏi/ca kiểm. Chờ đầu ra thực của R118. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "parent_id": "R001",
      "ai_jobs": [
        "AI-TL01"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R002",
      "ai_jobs": [
        "AI-TL02"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R003",
      "ai_jobs": [
        "AI-TL03"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R004",
      "ai_jobs": [
        "AI-TL03"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "A01",
      "ai_jobs": [
        "AI-TL01"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R005",
      "ai_jobs": [
        "AI-TL01",
        "AI-TL02"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "PREP",
      "ai_jobs": [
        "AI-TL03"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R006",
      "ai_jobs": [
        "AI-TL04",
        "AI-TL05"
      ],
      "human_retained": "NCS tự tổng hợp nhu cầu từ quan sát thật; CVYK review câu sức khỏe; con người chốt công cụ.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R007",
      "ai_jobs": [
        "AI-TL02",
        "AI-TL04"
      ],
      "human_retained": "NCS tự tổng hợp nhu cầu từ quan sát thật; CVYK review câu sức khỏe; con người chốt công cụ.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R008",
      "ai_jobs": [
        "AI-TL05"
      ],
      "human_retained": "NCS tự tổng hợp nhu cầu từ quan sát thật; CVYK review câu sức khỏe; con người chốt công cụ.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R009",
      "ai_jobs": [
        "AI-TL05",
        "AI-TL13"
      ],
      "human_retained": "NCS tự tổng hợp nhu cầu từ quan sát thật; CVYK review câu sức khỏe; con người chốt công cụ.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "A18",
      "ai_jobs": [
        "AI-TL06",
        "AI-TL15"
      ],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R066",
      "ai_jobs": [
        "AI-TL06",
        "AI-TL15"
      ],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R067",
      "ai_jobs": [
        "AI-TL06"
      ],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R068",
      "ai_jobs": [
        "AI-TL06"
      ],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "A19",
      "ai_jobs": [
        "AI-TL07",
        "AI-TL14"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R069",
      "ai_jobs": [
        "AI-TL07",
        "AI-TL14"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R070",
      "ai_jobs": [
        "AI-TL07"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R071",
      "ai_jobs": [
        "AI-TL07",
        "AI-TL13"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "A20",
      "ai_jobs": [
        "AI-TL08",
        "AI-TL15"
      ],
      "human_retained": "OPS cài, nâng cấp, phục hồi và gỡ trong môi trường được giao; reviewer nhận xét thật.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R072",
      "ai_jobs": [
        "AI-TL08",
        "AI-TL15"
      ],
      "human_retained": "OPS cài, nâng cấp, phục hồi và gỡ trong môi trường được giao; reviewer nhận xét thật.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R073",
      "ai_jobs": [
        "AI-TL08"
      ],
      "human_retained": "OPS cài, nâng cấp, phục hồi và gỡ trong môi trường được giao; reviewer nhận xét thật.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R074",
      "ai_jobs": [
        "AI-TL08",
        "AI-TL15"
      ],
      "human_retained": "OPS cài, nâng cấp, phục hồi và gỡ trong môi trường được giao; reviewer nhận xét thật.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R086",
      "ai_jobs": [
        "AI-TL10"
      ],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R087",
      "ai_jobs": [
        "AI-TL10"
      ],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R088",
      "ai_jobs": [
        "AI-TL10"
      ],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R089",
      "ai_jobs": [
        "AI-TL10"
      ],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R090",
      "ai_jobs": [
        "AI-TL10"
      ],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R091",
      "ai_jobs": [
        "AI-TL09",
        "AI-TL14"
      ],
      "human_retained": "Con người thực hành, đào tạo và tự làm lại; xác nhận giờ/kênh hỗ trợ.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R092",
      "ai_jobs": [
        "AI-TL09"
      ],
      "human_retained": "Con người thực hành, đào tạo và tự làm lại; xác nhận giờ/kênh hỗ trợ.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R093",
      "ai_jobs": [
        "AI-TL09",
        "AI-TL15"
      ],
      "human_retained": "Con người thực hành, đào tạo và tự làm lại; xác nhận giờ/kênh hỗ trợ.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "GC",
      "ai_jobs": [
        "AI-TL10"
      ],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R094",
      "ai_jobs": [
        "AI-TL10"
      ],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R095",
      "ai_jobs": [
        "AI-TL10"
      ],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "PILOT-CORE",
      "ai_jobs": [
        "AI-TL10"
      ],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R096",
      "ai_jobs": [
        "AI-TL16"
      ],
      "human_retained": "NCS tự tổng hợp nhu cầu từ quan sát thật; CVYK review câu sức khỏe; con người chốt công cụ.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R097",
      "ai_jobs": [
        "AI-TL13"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R098",
      "ai_jobs": [
        "AI-TL10",
        "AI-TL16"
      ],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R099",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R100",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R103",
      "ai_jobs": [
        "AI-TL12",
        "AI-TL18"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "GD-CORE",
      "ai_jobs": [
        "AI-TL12",
        "AI-TL18"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "C21",
      "ai_jobs": [
        "AI-TL07",
        "AI-TL14"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "C22",
      "ai_jobs": [
        "AI-TL07",
        "AI-TL14"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "C23",
      "ai_jobs": [
        "AI-TL09",
        "AI-TL14"
      ],
      "human_retained": "Con người thực hành, đào tạo và tự làm lại; xác nhận giờ/kênh hỗ trợ.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R104",
      "ai_jobs": [
        "AI-TL12"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R105",
      "ai_jobs": [
        "AI-TL12"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R106",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R107",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R108",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R109",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R110",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R111",
      "ai_jobs": [
        "AI-TL12",
        "AI-TL18"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R112",
      "ai_jobs": [
        "AI-TL12",
        "AI-TL18"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "GD",
      "ai_jobs": [
        "AI-TL12",
        "AI-TL18"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R113",
      "ai_jobs": [
        "AI-TL12"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R114",
      "ai_jobs": [
        "AI-TL12"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R115",
      "ai_jobs": [
        "AI-TL12"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R116",
      "ai_jobs": [
        "AI-TL06",
        "AI-TL17"
      ],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R117",
      "ai_jobs": [
        "AI-TL06",
        "AI-TL17"
      ],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "R120",
      "ai_jobs": [
        "AI-TL12",
        "AI-TL18"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "CORE-DOC",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL12",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "CORE-REV",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "CORE-W1",
      "ai_jobs": [
        "AI-TL06",
        "AI-TL17"
      ],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "CORE-M1",
      "ai_jobs": [
        "AI-TL06",
        "AI-TL17"
      ],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    },
    {
      "parent_id": "G0",
      "ai_jobs": [
        "AI-TL03"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định.",
      "reason": "Tách hiện vật chuẩn bị khỏi hoàn tất parent; xem step_coverage để biết thao tác AI thực sự hỗ trợ."
    }
  ],
  "step_coverage": [
    {
      "step_id": "R020.01",
      "parent_id": "R020",
      "ai_jobs": [
        "AI-YK01",
        "AI-YK02"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm nguồn và bản trích có sẵn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "R020.02",
      "parent_id": "R020",
      "ai_jobs": [
        "AI-YK01",
        "AI-YK02"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Khoanh lô và câu hỏi quyền”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "R021.01",
      "parent_id": "R021",
      "ai_jobs": [
        "AI-YK05"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Rà nguồn chung cho ứng viên camera”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "R022.01",
      "parent_id": "R022",
      "ai_jobs": [
        "AI-YK04"
      ],
      "human_retained": "LEGAL thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm quyền từng nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "R022.02",
      "parent_id": "R022",
      "ai_jobs": [
        "AI-YK04"
      ],
      "human_retained": "LEGAL thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm điều kiện dịch vụ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "R022.03",
      "parent_id": "R022",
      "ai_jobs": [
        "AI-YK04"
      ],
      "human_retained": "LEGAL thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Chuẩn bị hồ sơ Q03”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "Q03.01",
      "parent_id": "Q03",
      "ai_jobs": [],
      "human_retained": "LEGAL thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Phiên kết luận quyền nguồn và dịch vụ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K01A.01",
      "parent_id": "K01A",
      "ai_jobs": [
        "AI-YK19"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Chọn bản nháp của lô”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K01A.02",
      "parent_id": "K01A",
      "ai_jobs": [
        "AI-YK11"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đọc nguồn cho 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K01A.03",
      "parent_id": "K01A",
      "ai_jobs": [
        "AI-YK19"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối chiếu 5 FAQ với nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K01A.04",
      "parent_id": "K01A",
      "ai_jobs": [
        "AI-YK19"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Hoàn thiện bản nháp 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K01A.05",
      "parent_id": "K01A",
      "ai_jobs": [
        "AI-YK19"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Hoàn thiện bản nháp 5 FAQ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K01A.06",
      "parent_id": "K01A",
      "ai_jobs": [
        "AI-YK19"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Tự kiểm và bàn giao lô”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K01B.01",
      "parent_id": "K01B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét nguồn và 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K01B.02",
      "parent_id": "K01B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét 5 FAQ và an toàn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K01B.03",
      "parent_id": "K01B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bàn giao kết luận từng mục”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K01C.01",
      "parent_id": "K01C",
      "ai_jobs": [
        "AI-YK27"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa theo phản hồi chuyên môn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Sửa và kiểm lại theo nhận xét thật; hiện thiếu phiếu theo ID/hash."
    },
    {
      "step_id": "K01C.02",
      "parent_id": "K01C",
      "ai_jobs": [
        "AI-YK27"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm lại và gửi xét bản sửa”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Sửa và kiểm lại theo nhận xét thật; hiện thiếu phiếu theo ID/hash."
    },
    {
      "step_id": "K01D.01",
      "parent_id": "K01D",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “CVYK xét lại bản sửa”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "R031.01",
      "parent_id": "R031",
      "ai_jobs": [
        "AI-YK02",
        "AI-YK05"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “So lô hiệu chỉnh với CYK”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "R031.02",
      "parent_id": "R031",
      "ai_jobs": [
        "AI-YK02",
        "AI-YK05"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bàn giao thiếu sót cho CAM-Y”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "R032.01",
      "parent_id": "R032",
      "ai_jobs": [
        "AI-YK10"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Tạo bản kê tri thức thật”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "GA.01",
      "parent_id": "GA",
      "ai_jobs": [],
      "human_retained": "GVHD thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Phiên xét GA theo thẩm quyền”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "C01.01",
      "parent_id": "C01",
      "ai_jobs": [
        "AI-YK05"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Rà căn cứ có sẵn cho ứng viên”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "C01.02",
      "parent_id": "C01",
      "ai_jobs": [
        "AI-YK05"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối chiếu căn cứ phép đo”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "C01.03",
      "parent_id": "C01",
      "ai_jobs": [
        "AI-YK05"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Lập khoảng trống nội dung và quyền”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "C01.04",
      "parent_id": "C01",
      "ai_jobs": [
        "AI-YK05"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bàn giao đề xuất một chỉ số”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "C02.01",
      "parent_id": "C02",
      "ai_jobs": [
        "AI-YK04"
      ],
      "human_retained": "LEGAL thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm quyền nguồn và dữ liệu camera còn thiếu”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "C03.01",
      "parent_id": "C03",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét nguồn và đối tượng ứng viên”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "C03.02",
      "parent_id": "C03",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét dừng và chuẩn đối chiếu”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "C04.01",
      "parent_id": "C04",
      "ai_jobs": [
        "AI-YK06"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đặc tả sự kiện và trình tự đo”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "C04.02",
      "parent_id": "C04",
      "ai_jobs": [
        "AI-YK06"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đặc tả thiết bị và hiệu chỉnh”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "C04.03",
      "parent_id": "C04",
      "ai_jobs": [
        "AI-YK06"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đặc tả trạng thái và riêng tư”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "C04.04",
      "parent_id": "C04",
      "ai_jobs": [
        "AI-YK06"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đặc tả kết quả và đối chiếu”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "C05.01",
      "parent_id": "C05",
      "ai_jobs": [
        "AI-YK05"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm nguồn đến kết quả”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "C05.02",
      "parent_id": "C05",
      "ai_jobs": [
        "AI-YK05"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm giao tiếp và thu hồi”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "C06.01",
      "parent_id": "C06",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét protocol và lời hướng dẫn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "C06.02",
      "parent_id": "C06",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét tiêu chí trước thử”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "C07.01",
      "parent_id": "C07",
      "ai_jobs": [
        "AI-YK06"
      ],
      "human_retained": "MEASURE thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm tính thực hiện được của chuẩn đối chiếu”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "K02A.01",
      "parent_id": "K02A",
      "ai_jobs": [
        "AI-YK20"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Chọn bản nháp của lô”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K02A.02",
      "parent_id": "K02A",
      "ai_jobs": [
        "AI-YK12"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đọc nguồn cho 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K02A.03",
      "parent_id": "K02A",
      "ai_jobs": [
        "AI-YK20"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối chiếu 5 FAQ với nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K02A.04",
      "parent_id": "K02A",
      "ai_jobs": [
        "AI-YK20"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Hoàn thiện bản nháp 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K02A.05",
      "parent_id": "K02A",
      "ai_jobs": [
        "AI-YK20"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Hoàn thiện bản nháp 5 FAQ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K02A.06",
      "parent_id": "K02A",
      "ai_jobs": [
        "AI-YK20"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Tự kiểm và bàn giao lô”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K02B.01",
      "parent_id": "K02B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét nguồn và 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K02B.02",
      "parent_id": "K02B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét 5 FAQ và an toàn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K02B.03",
      "parent_id": "K02B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bàn giao kết luận từng mục”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K02C.01",
      "parent_id": "K02C",
      "ai_jobs": [
        "AI-YK28"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa theo phản hồi chuyên môn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Sửa và kiểm lại theo nhận xét thật; hiện thiếu phiếu theo ID/hash."
    },
    {
      "step_id": "K02C.02",
      "parent_id": "K02C",
      "ai_jobs": [
        "AI-YK28"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm lại và gửi xét bản sửa”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Sửa và kiểm lại theo nhận xét thật; hiện thiếu phiếu theo ID/hash."
    },
    {
      "step_id": "K02D.01",
      "parent_id": "K02D",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “CVYK xét lại bản sửa”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K03A.01",
      "parent_id": "K03A",
      "ai_jobs": [
        "AI-YK21"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Chọn bản nháp của lô”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K03A.02",
      "parent_id": "K03A",
      "ai_jobs": [
        "AI-YK13"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đọc nguồn cho 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K03A.03",
      "parent_id": "K03A",
      "ai_jobs": [
        "AI-YK21"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối chiếu 5 FAQ với nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K03A.04",
      "parent_id": "K03A",
      "ai_jobs": [
        "AI-YK21"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Hoàn thiện bản nháp 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K03A.05",
      "parent_id": "K03A",
      "ai_jobs": [
        "AI-YK21"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Hoàn thiện bản nháp 5 FAQ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K03A.06",
      "parent_id": "K03A",
      "ai_jobs": [
        "AI-YK21"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Tự kiểm và bàn giao lô”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K03B.01",
      "parent_id": "K03B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét nguồn và 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K03B.02",
      "parent_id": "K03B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét 5 FAQ và an toàn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K03B.03",
      "parent_id": "K03B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bàn giao kết luận từng mục”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K03C.01",
      "parent_id": "K03C",
      "ai_jobs": [
        "AI-YK29"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa theo phản hồi chuyên môn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Sửa và kiểm lại theo nhận xét thật; hiện thiếu phiếu theo ID/hash."
    },
    {
      "step_id": "K03C.02",
      "parent_id": "K03C",
      "ai_jobs": [
        "AI-YK29"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm lại và gửi xét bản sửa”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Sửa và kiểm lại theo nhận xét thật; hiện thiếu phiếu theo ID/hash."
    },
    {
      "step_id": "K03D.01",
      "parent_id": "K03D",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “CVYK xét lại bản sửa”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K04A.01",
      "parent_id": "K04A",
      "ai_jobs": [
        "AI-YK22"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Chọn bản nháp của lô”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K04A.02",
      "parent_id": "K04A",
      "ai_jobs": [
        "AI-YK14"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đọc nguồn cho 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K04A.03",
      "parent_id": "K04A",
      "ai_jobs": [
        "AI-YK22"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối chiếu 5 FAQ với nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K04A.04",
      "parent_id": "K04A",
      "ai_jobs": [
        "AI-YK22"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Hoàn thiện bản nháp 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K04A.05",
      "parent_id": "K04A",
      "ai_jobs": [
        "AI-YK22"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Hoàn thiện bản nháp 5 FAQ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K04A.06",
      "parent_id": "K04A",
      "ai_jobs": [
        "AI-YK22"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Tự kiểm và bàn giao lô”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K04B.01",
      "parent_id": "K04B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét nguồn và 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K04B.02",
      "parent_id": "K04B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét 5 FAQ và an toàn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K04B.03",
      "parent_id": "K04B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bàn giao kết luận từng mục”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K04C.01",
      "parent_id": "K04C",
      "ai_jobs": [
        "AI-YK30"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa theo phản hồi chuyên môn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Sửa và kiểm lại theo nhận xét thật; hiện thiếu phiếu theo ID/hash."
    },
    {
      "step_id": "K04C.02",
      "parent_id": "K04C",
      "ai_jobs": [
        "AI-YK30"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm lại và gửi xét bản sửa”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Sửa và kiểm lại theo nhận xét thật; hiện thiếu phiếu theo ID/hash."
    },
    {
      "step_id": "K04D.01",
      "parent_id": "K04D",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “CVYK xét lại bản sửa”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K05A.01",
      "parent_id": "K05A",
      "ai_jobs": [
        "AI-YK23"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Chọn bản nháp của lô”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K05A.02",
      "parent_id": "K05A",
      "ai_jobs": [
        "AI-YK15"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đọc nguồn cho 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K05A.03",
      "parent_id": "K05A",
      "ai_jobs": [
        "AI-YK23"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối chiếu 5 FAQ với nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K05A.04",
      "parent_id": "K05A",
      "ai_jobs": [
        "AI-YK23"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Hoàn thiện bản nháp 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K05A.05",
      "parent_id": "K05A",
      "ai_jobs": [
        "AI-YK23"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Hoàn thiện bản nháp 5 FAQ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K05A.06",
      "parent_id": "K05A",
      "ai_jobs": [
        "AI-YK23"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Tự kiểm và bàn giao lô”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K05B.01",
      "parent_id": "K05B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét nguồn và 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K05B.02",
      "parent_id": "K05B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét 5 FAQ và an toàn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K05B.03",
      "parent_id": "K05B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bàn giao kết luận từng mục”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K05C.01",
      "parent_id": "K05C",
      "ai_jobs": [
        "AI-YK31"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa theo phản hồi chuyên môn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Sửa và kiểm lại theo nhận xét thật; hiện thiếu phiếu theo ID/hash."
    },
    {
      "step_id": "K05C.02",
      "parent_id": "K05C",
      "ai_jobs": [
        "AI-YK31"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm lại và gửi xét bản sửa”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Sửa và kiểm lại theo nhận xét thật; hiện thiếu phiếu theo ID/hash."
    },
    {
      "step_id": "K05D.01",
      "parent_id": "K05D",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “CVYK xét lại bản sửa”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K06A.01",
      "parent_id": "K06A",
      "ai_jobs": [
        "AI-YK24"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Chọn bản nháp của lô”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K06A.02",
      "parent_id": "K06A",
      "ai_jobs": [
        "AI-YK16"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đọc nguồn cho 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K06A.03",
      "parent_id": "K06A",
      "ai_jobs": [
        "AI-YK24"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối chiếu 5 FAQ với nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K06A.04",
      "parent_id": "K06A",
      "ai_jobs": [
        "AI-YK24"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Hoàn thiện bản nháp 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K06A.05",
      "parent_id": "K06A",
      "ai_jobs": [
        "AI-YK24"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Hoàn thiện bản nháp 5 FAQ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K06A.06",
      "parent_id": "K06A",
      "ai_jobs": [
        "AI-YK24"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Tự kiểm và bàn giao lô”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K06B.01",
      "parent_id": "K06B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét nguồn và 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K06B.02",
      "parent_id": "K06B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét 5 FAQ và an toàn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K06B.03",
      "parent_id": "K06B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bàn giao kết luận từng mục”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K06C.01",
      "parent_id": "K06C",
      "ai_jobs": [
        "AI-YK32"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa theo phản hồi chuyên môn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Sửa và kiểm lại theo nhận xét thật; hiện thiếu phiếu theo ID/hash."
    },
    {
      "step_id": "K06C.02",
      "parent_id": "K06C",
      "ai_jobs": [
        "AI-YK32"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm lại và gửi xét bản sửa”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Sửa và kiểm lại theo nhận xét thật; hiện thiếu phiếu theo ID/hash."
    },
    {
      "step_id": "K06D.01",
      "parent_id": "K06D",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “CVYK xét lại bản sửa”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K07A.01",
      "parent_id": "K07A",
      "ai_jobs": [
        "AI-YK25"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Chọn bản nháp của lô”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K07A.02",
      "parent_id": "K07A",
      "ai_jobs": [
        "AI-YK17"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đọc nguồn cho 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K07A.03",
      "parent_id": "K07A",
      "ai_jobs": [
        "AI-YK25"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối chiếu 5 FAQ với nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K07A.04",
      "parent_id": "K07A",
      "ai_jobs": [
        "AI-YK25"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Hoàn thiện bản nháp 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K07A.05",
      "parent_id": "K07A",
      "ai_jobs": [
        "AI-YK25"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Hoàn thiện bản nháp 5 FAQ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K07A.06",
      "parent_id": "K07A",
      "ai_jobs": [
        "AI-YK25"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Tự kiểm và bàn giao lô”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K07B.01",
      "parent_id": "K07B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét nguồn và 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K07B.02",
      "parent_id": "K07B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét 5 FAQ và an toàn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K07B.03",
      "parent_id": "K07B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bàn giao kết luận từng mục”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K07C.01",
      "parent_id": "K07C",
      "ai_jobs": [
        "AI-YK33"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa theo phản hồi chuyên môn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Sửa và kiểm lại theo nhận xét thật; hiện thiếu phiếu theo ID/hash."
    },
    {
      "step_id": "K07C.02",
      "parent_id": "K07C",
      "ai_jobs": [
        "AI-YK33"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm lại và gửi xét bản sửa”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Sửa và kiểm lại theo nhận xét thật; hiện thiếu phiếu theo ID/hash."
    },
    {
      "step_id": "K07D.01",
      "parent_id": "K07D",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “CVYK xét lại bản sửa”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K08A.01",
      "parent_id": "K08A",
      "ai_jobs": [
        "AI-YK26"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Chọn bản nháp của lô”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K08A.02",
      "parent_id": "K08A",
      "ai_jobs": [
        "AI-YK18"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đọc nguồn cho 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K08A.03",
      "parent_id": "K08A",
      "ai_jobs": [
        "AI-YK26"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối chiếu 5 FAQ với nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K08A.04",
      "parent_id": "K08A",
      "ai_jobs": [
        "AI-YK26"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Hoàn thiện bản nháp 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K08A.05",
      "parent_id": "K08A",
      "ai_jobs": [
        "AI-YK26"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Hoàn thiện bản nháp 5 FAQ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K08A.06",
      "parent_id": "K08A",
      "ai_jobs": [
        "AI-YK26"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Tự kiểm và bàn giao lô”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Phần đọc/soạn/kiểm AI có đầu ra nghiên cứu; NCS vẫn chọn lô và tự kiểm theo nhiệm vụ."
    },
    {
      "step_id": "K08B.01",
      "parent_id": "K08B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét nguồn và 5 thẻ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K08B.02",
      "parent_id": "K08B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét 5 FAQ và an toàn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K08B.03",
      "parent_id": "K08B",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bàn giao kết luận từng mục”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "K08C.01",
      "parent_id": "K08C",
      "ai_jobs": [
        "AI-YK34"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa theo phản hồi chuyên môn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Sửa và kiểm lại theo nhận xét thật; hiện thiếu phiếu theo ID/hash."
    },
    {
      "step_id": "K08C.02",
      "parent_id": "K08C",
      "ai_jobs": [
        "AI-YK34"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm lại và gửi xét bản sửa”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Sửa và kiểm lại theo nhận xét thật; hiện thiếu phiếu theo ID/hash."
    },
    {
      "step_id": "K08D.01",
      "parent_id": "K08D",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “CVYK xét lại bản sửa”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "R121.01",
      "parent_id": "R121",
      "ai_jobs": [
        "AI-YK09",
        "AI-YK37"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đo và hiệu chỉnh dự toán lô sau”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Có số liệu khối lượng; chưa có giờ công để đổi dự toán hoặc lịch."
    },
    {
      "step_id": "R122.01",
      "parent_id": "R122",
      "ai_jobs": [],
      "human_retained": "GVHD thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xem xét phạm vi và lịch sau lô đầu”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "C26.01",
      "parent_id": "C26",
      "ai_jobs": [],
      "human_retained": "GVHD thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Review phương pháp camera trước xin phép”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "SRC-01.01",
      "parent_id": "SRC-01",
      "ai_jobs": [
        "AI-YK01"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối chiếu danh mục và bản hiện có”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-01.02",
      "parent_id": "SRC-01",
      "ai_jobs": [
        "AI-YK01"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm kê tập trang”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-02.01",
      "parent_id": "SRC-02",
      "ai_jobs": [
        "AI-YK02"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Lập hàng bao phủ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-02.02",
      "parent_id": "SRC-02",
      "ai_jobs": [
        "AI-YK02"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bàn giao khoảng trống”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-03.01",
      "parent_id": "SRC-03",
      "ai_jobs": [
        "AI-YK03"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Chọn kênh và chuỗi tìm”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-03.02",
      "parent_id": "SRC-03",
      "ai_jobs": [
        "AI-YK03"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Chốt nhận loại và nhật ký”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-04.01",
      "parent_id": "SRC-04",
      "ai_jobs": [
        "AI-YK03"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Tìm nguồn cơ quan ban hành”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-04.02",
      "parent_id": "SRC-04",
      "ai_jobs": [
        "AI-YK03"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Tìm nghiên cứu và tổng quan”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-04.03",
      "parent_id": "SRC-04",
      "ai_jobs": [
        "AI-YK03"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Theo trích dẫn và khử trùng”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-04.04",
      "parent_id": "SRC-04",
      "ai_jobs": [
        "AI-YK03"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sàng lọc và bàn giao”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-05.01",
      "parent_id": "SRC-05",
      "ai_jobs": [
        "AI-YK04"
      ],
      "human_retained": "LEGAL thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối chiếu quyền theo thao tác”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-05.02",
      "parent_id": "SRC-05",
      "ai_jobs": [
        "AI-YK04"
      ],
      "human_retained": "LEGAL thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bàn giao hồ sơ quyết định”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-06.01",
      "parent_id": "SRC-06",
      "ai_jobs": [
        "AI-YK03"
      ],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Rà căn cứ và hiệu lực”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-TOOLS1.01",
      "parent_id": "SRC-TOOLS1",
      "ai_jobs": [
        "AI-YK07"
      ],
      "human_retained": " thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sinh đề xuất và ca thử tổng hợp”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-TOOLS2.01",
      "parent_id": "SRC-TOOLS2",
      "ai_jobs": [
        "AI-YK07"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đọc mã và kiểm luồng dữ liệu”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-TOOLS2.02",
      "parent_id": "SRC-TOOLS2",
      "ai_jobs": [
        "AI-YK07"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Triển khai phần còn thiếu”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-TOOLS2.03",
      "parent_id": "SRC-TOOLS2",
      "ai_jobs": [
        "AI-YK07"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Thử và bàn giao độc lập”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-07.01",
      "parent_id": "SRC-07",
      "ai_jobs": [
        "AI-YK07"
      ],
      "human_retained": "REVIEW_TECH thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Thử an toàn công cụ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-07.02",
      "parent_id": "SRC-07",
      "ai_jobs": [
        "AI-YK07"
      ],
      "human_retained": "REVIEW_TECH thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm hợp đồng dẫn xuất”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-08.01",
      "parent_id": "SRC-08",
      "ai_jobs": [
        "AI-YK01",
        "AI-YK35"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Tiếp nhận mẫu và khóa bản gốc”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã kiểm kê đầu vào; mẫu ảnh gốc và số đo công người chưa có."
    },
    {
      "step_id": "SRC-08.02",
      "parent_id": "SRC-08",
      "ai_jobs": [
        "AI-YK35"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bóc tách và đo thời gian”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã kiểm kê đầu vào; mẫu ảnh gốc và số đo công người chưa có."
    },
    {
      "step_id": "SRC-09.01",
      "parent_id": "SRC-09",
      "ai_jobs": [
        "AI-YK35"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “So từng trang và đoạn rủi ro”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu mọi trang cần bản gốc; không giả kết quả kiểm."
    },
    {
      "step_id": "SRC-09.02",
      "parent_id": "SRC-09",
      "ai_jobs": [
        "AI-YK35"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bàn giao lỗi và số đo”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu mọi trang cần bản gốc; không giả kết quả kiểm."
    },
    {
      "step_id": "SRC-10.01",
      "parent_id": "SRC-10",
      "ai_jobs": [
        "AI-YK07"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa và ghi bằng chứng lại”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-11.01",
      "parent_id": "SRC-11",
      "ai_jobs": [
        "AI-YK09",
        "AI-YK37"
      ],
      "human_retained": "GVHD thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét số đo và lập lại dự toán”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Có số liệu khối lượng; chưa có giờ công để đổi dự toán hoặc lịch."
    },
    {
      "step_id": "SRC-12.01",
      "parent_id": "SRC-12",
      "ai_jobs": [
        "AI-YK10"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối soát bao phủ toàn phạm vi”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "SRC-12.02",
      "parent_id": "SRC-12",
      "ai_jobs": [
        "AI-YK10"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bàn giao điều kiện sử dụng”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu thao tác của bước với hồ sơ tương ứng; trạng thái AI chỉ mô tả phần hỗ trợ, không đóng bước con người."
    },
    {
      "step_id": "MK01A.01",
      "parent_id": "MK01A",
      "ai_jobs": [
        "AI-YK11"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Khóa phạm vi và tiếp nhận”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã tái dùng chương được cung cấp trong hồ sơ nghiên cứu; chưa khóa phạm vi canonical hoặc quyền phát hành."
    },
    {
      "step_id": "MK01A.02",
      "parent_id": "MK01A",
      "ai_jobs": [
        "AI-YK11"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bóc tách đủ thành phần”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã tái dùng chương được cung cấp trong hồ sơ nghiên cứu; chưa khóa phạm vi canonical hoặc quyền phát hành."
    },
    {
      "step_id": "MK01B.01",
      "parent_id": "MK01B",
      "ai_jobs": [
        "AI-YK35"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối chiếu độc lập đầy đủ”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu trang gốc thiếu PDF/ảnh; kiểm text/numbers dẫn xuất không thay bước này."
    },
    {
      "step_id": "MK01C.01",
      "parent_id": "MK01C",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét câu hỏi nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "MK01D.01",
      "parent_id": "MK01D",
      "ai_jobs": [
        "AI-YK27"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa và bàn giao đúng trạng thái”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Chờ phiếu lỗi có vị trí để sửa nguồn dẫn xuất; chưa có quyết định chuyên môn."
    },
    {
      "step_id": "MK02A.01",
      "parent_id": "MK02A",
      "ai_jobs": [
        "AI-YK12"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Tiếp nhận và đối soát nguồn dùng chung”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã tái dùng chương được cung cấp trong hồ sơ nghiên cứu; chưa khóa phạm vi canonical hoặc quyền phát hành."
    },
    {
      "step_id": "MK02A.02",
      "parent_id": "MK02A",
      "ai_jobs": [
        "AI-YK12"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bóc tách đủ tập trang”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã tái dùng chương được cung cấp trong hồ sơ nghiên cứu; chưa khóa phạm vi canonical hoặc quyền phát hành."
    },
    {
      "step_id": "MK02B.01",
      "parent_id": "MK02B",
      "ai_jobs": [
        "AI-YK35"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “So mọi trang với nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu trang gốc thiếu PDF/ảnh; kiểm text/numbers dẫn xuất không thay bước này."
    },
    {
      "step_id": "MK02C.01",
      "parent_id": "MK02C",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét câu hỏi nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "MK02D.01",
      "parent_id": "MK02D",
      "ai_jobs": [
        "AI-YK28"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa và bàn giao có truy vết”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Chờ phiếu lỗi có vị trí để sửa nguồn dẫn xuất; chưa có quyết định chuyên môn."
    },
    {
      "step_id": "MK03A.01",
      "parent_id": "MK03A",
      "ai_jobs": [
        "AI-YK13"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Khóa nguồn và sổ trang”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã tái dùng chương được cung cấp trong hồ sơ nghiên cứu; chưa khóa phạm vi canonical hoặc quyền phát hành."
    },
    {
      "step_id": "MK03A.02",
      "parent_id": "MK03A",
      "ai_jobs": [
        "AI-YK13"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bóc tách toàn thành phần”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã tái dùng chương được cung cấp trong hồ sơ nghiên cứu; chưa khóa phạm vi canonical hoặc quyền phát hành."
    },
    {
      "step_id": "MK03B.01",
      "parent_id": "MK03B",
      "ai_jobs": [
        "AI-YK35"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối chiếu toàn tập trang”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu trang gốc thiếu PDF/ảnh; kiểm text/numbers dẫn xuất không thay bước này."
    },
    {
      "step_id": "MK03C.01",
      "parent_id": "MK03C",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Rà câu hỏi và ghi nhận xét”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "MK03D.01",
      "parent_id": "MK03D",
      "ai_jobs": [
        "AI-YK29"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa và khóa phiên bản bàn giao”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Chờ phiếu lỗi có vị trí để sửa nguồn dẫn xuất; chưa có quyết định chuyên môn."
    },
    {
      "step_id": "MK04A.01",
      "parent_id": "MK04A",
      "ai_jobs": [
        "AI-YK14"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Nhận nguồn và lập sổ trang”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã tái dùng chương được cung cấp trong hồ sơ nghiên cứu; chưa khóa phạm vi canonical hoặc quyền phát hành."
    },
    {
      "step_id": "MK04A.02",
      "parent_id": "MK04A",
      "ai_jobs": [
        "AI-YK14"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bóc tách toàn thành phần”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã tái dùng chương được cung cấp trong hồ sơ nghiên cứu; chưa khóa phạm vi canonical hoặc quyền phát hành."
    },
    {
      "step_id": "MK04B.01",
      "parent_id": "MK04B",
      "ai_jobs": [
        "AI-YK35"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm đầy đủ với bản gốc”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu trang gốc thiếu PDF/ảnh; kiểm text/numbers dẫn xuất không thay bước này."
    },
    {
      "step_id": "MK04C.01",
      "parent_id": "MK04C",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét nghĩa tại nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "MK04D.01",
      "parent_id": "MK04D",
      "ai_jobs": [
        "AI-YK30"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa và bàn giao”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Chờ phiếu lỗi có vị trí để sửa nguồn dẫn xuất; chưa có quyết định chuyên môn."
    },
    {
      "step_id": "MK05A.01",
      "parent_id": "MK05A",
      "ai_jobs": [
        "AI-YK15"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối soát nguồn và sổ trang”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã tái dùng chương được cung cấp trong hồ sơ nghiên cứu; chưa khóa phạm vi canonical hoặc quyền phát hành."
    },
    {
      "step_id": "MK05A.02",
      "parent_id": "MK05A",
      "ai_jobs": [
        "AI-YK15"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bóc tách đủ thành phần”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã tái dùng chương được cung cấp trong hồ sơ nghiên cứu; chưa khóa phạm vi canonical hoặc quyền phát hành."
    },
    {
      "step_id": "MK05B.01",
      "parent_id": "MK05B",
      "ai_jobs": [
        "AI-YK35"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “So đầy đủ với nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu trang gốc thiếu PDF/ảnh; kiểm text/numbers dẫn xuất không thay bước này."
    },
    {
      "step_id": "MK05C.01",
      "parent_id": "MK05C",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét nghĩa theo nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "MK05D.01",
      "parent_id": "MK05D",
      "ai_jobs": [
        "AI-YK31"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa và khóa bản bàn giao”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Chờ phiếu lỗi có vị trí để sửa nguồn dẫn xuất; chưa có quyết định chuyên môn."
    },
    {
      "step_id": "MK06A.01",
      "parent_id": "MK06A",
      "ai_jobs": [
        "AI-YK16"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối soát nguồn và phạm vi”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã tái dùng chương được cung cấp trong hồ sơ nghiên cứu; chưa khóa phạm vi canonical hoặc quyền phát hành."
    },
    {
      "step_id": "MK06A.02",
      "parent_id": "MK06A",
      "ai_jobs": [
        "AI-YK16"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bóc tách đủ thành phần”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã tái dùng chương được cung cấp trong hồ sơ nghiên cứu; chưa khóa phạm vi canonical hoặc quyền phát hành."
    },
    {
      "step_id": "MK06B.01",
      "parent_id": "MK06B",
      "ai_jobs": [
        "AI-YK35"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm đủ với bản gốc”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu trang gốc thiếu PDF/ảnh; kiểm text/numbers dẫn xuất không thay bước này."
    },
    {
      "step_id": "MK06C.01",
      "parent_id": "MK06C",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét câu hỏi nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "MK06D.01",
      "parent_id": "MK06D",
      "ai_jobs": [
        "AI-YK32"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa và khóa bản bàn giao”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Chờ phiếu lỗi có vị trí để sửa nguồn dẫn xuất; chưa có quyết định chuyên môn."
    },
    {
      "step_id": "MK07A.01",
      "parent_id": "MK07A",
      "ai_jobs": [
        "AI-YK17"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Kiểm nguồn và sổ trang”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã tái dùng chương được cung cấp trong hồ sơ nghiên cứu; chưa khóa phạm vi canonical hoặc quyền phát hành."
    },
    {
      "step_id": "MK07A.02",
      "parent_id": "MK07A",
      "ai_jobs": [
        "AI-YK17"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bóc tách đủ thành phần”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã tái dùng chương được cung cấp trong hồ sơ nghiên cứu; chưa khóa phạm vi canonical hoặc quyền phát hành."
    },
    {
      "step_id": "MK07B.01",
      "parent_id": "MK07B",
      "ai_jobs": [
        "AI-YK35"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “So toàn tập trang với gốc”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu trang gốc thiếu PDF/ảnh; kiểm text/numbers dẫn xuất không thay bước này."
    },
    {
      "step_id": "MK07C.01",
      "parent_id": "MK07C",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện trách nhiệm của bước “Xét câu hỏi và giới hạn”, kiểm độc lập và quyết định thực. Phần AI hỗ trợ không tự đóng bước.",
      "reason": "CVYK đọc nguồn được phép và ghi kết luận thực. Các bản nháp và lỗi có định vị chỉ là đầu vào, AI không thay phần xét.",
      "source_step_title": "Xét câu hỏi và giới hạn",
      "source_step_instructions": "Đọc vị trí được phép, ghi kết luận có căn cứ hoặc yêu cầu bổ sung. Giữ giới hạn nguồn, không gán APPROVED cho thẻ/FAQ.",
      "source_step_done_when": "Nhận xét đúng vị trí và phiên bản; không cấp quyền phát hành."
    },
    {
      "step_id": "MK07D.01",
      "parent_id": "MK07D",
      "ai_jobs": [
        "AI-YK33"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa và khóa bản bàn giao”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Chờ phiếu lỗi có vị trí để sửa nguồn dẫn xuất; chưa có quyết định chuyên môn."
    },
    {
      "step_id": "MK08A.01",
      "parent_id": "MK08A",
      "ai_jobs": [
        "AI-YK18"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Đối soát nguồn và tập trang”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã tái dùng chương được cung cấp trong hồ sơ nghiên cứu; chưa khóa phạm vi canonical hoặc quyền phát hành."
    },
    {
      "step_id": "MK08A.02",
      "parent_id": "MK08A",
      "ai_jobs": [
        "AI-YK18"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Bóc tách toàn thành phần”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đã tái dùng chương được cung cấp trong hồ sơ nghiên cứu; chưa khóa phạm vi canonical hoặc quyền phát hành."
    },
    {
      "step_id": "MK08B.01",
      "parent_id": "MK08B",
      "ai_jobs": [
        "AI-YK35"
      ],
      "human_retained": "NCS2 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “So mọi trang với gốc”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Đối chiếu trang gốc thiếu PDF/ảnh; kiểm text/numbers dẫn xuất không thay bước này."
    },
    {
      "step_id": "MK08C.01",
      "parent_id": "MK08C",
      "ai_jobs": [],
      "human_retained": "CVYK thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Xét nghĩa theo nguồn”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Bước yêu cầu thẩm định hoặc quyết định của người được giao. Hồ sơ nháp liên quan đã có ở parent_coverage."
    },
    {
      "step_id": "MK08D.01",
      "parent_id": "MK08D",
      "ai_jobs": [
        "AI-YK34"
      ],
      "human_retained": "NCS1 thực hiện phần nhận việc, kiểm độc lập và quyết định của bước “Sửa và khóa bản bàn giao”. Không dùng hồ sơ AI thay sự kiện này.",
      "reason": "Chờ phiếu lỗi có vị trí để sửa nguồn dẫn xuất; chưa có quyết định chuyên môn."
    },
    {
      "step_id": "C-SRC01.01",
      "parent_id": "C-SRC01",
      "ai_jobs": [
        "AI-YK05"
      ],
      "human_retained": "NCS2 thực hiện trách nhiệm của bước “Đối soát khoảng trống camera”, kiểm độc lập và quyết định thực. Phần AI hỗ trợ không tự đóng bước.",
      "reason": "AI-YK05 đã nối đủ CYK-01–13 với nguồn, đối tượng và phần thiếu. Phân công/ưu tiên cuối cùng vẫn thuộc NCS2.",
      "source_step_title": "Đối soát khoảng trống camera",
      "source_step_instructions": "Nối hàng CYK với quy trình, đối tượng, điều kiện dừng, chuẩn đo và nguồn hiện có. Ghi câu hỏi cần tìm; tách nguồn kỹ thuật khỏi căn cứ chuyên môn.",
      "source_step_done_when": "Mỗi khoảng trống có người nhận và ưu tiên; không suy quy trình từ bài vận động chung."
    },
    {
      "step_id": "C-SRC02.01",
      "parent_id": "C-SRC02",
      "ai_jobs": [
        "AI-YK03"
      ],
      "human_retained": "NCS2 thực hiện trách nhiệm của bước “Tìm nguồn quy trình cụ thể”, kiểm độc lập và quyết định thực. Phần AI hỗ trợ không tự đóng bước.",
      "reason": "AI-YK03 đã thực hiện truy vấn tiếng Anh trên nguồn cơ quan ban hành. Chưa tuyên bố đã tìm VN/EN đầy đủ hoặc rà PubMed/Cochrane.",
      "source_step_title": "Tìm nguồn quy trình cụ thể",
      "source_step_instructions": "Tìm cơ quan ban hành, hội chuyên môn và PubMed/Cochrane theo câu hỏi VN/EN. Ghi ngày, URL, truy vấn nguyên văn, bộ lọc và số xem thực.",
      "source_step_done_when": "Có nguồn hoặc ghi không tìm thấy; không bịa kết quả."
    },
    {
      "step_id": "C-SRC02.02",
      "parent_id": "C-SRC02",
      "ai_jobs": [
        "AI-YK03",
        "AI-YK04"
      ],
      "human_retained": "NCS2 thực hiện trách nhiệm của bước “Sàng lọc và chuyển kiểm quyền”, kiểm độc lập và quyết định thực. Phần AI hỗ trợ không tự đóng bước.",
      "reason": "AI-YK03 có sàng lọc nguồn chính thức và phiên bản; AI-YK04 lập câu hỏi quyền. C02 giữ quyền quyết định thao tác.",
      "source_step_title": "Sàng lọc và chuyển kiểm quyền",
      "source_step_instructions": "Khử trùng DOI/phiên bản; sàng lọc đối tượng, quy trình và chuẩn đo theo tiêu chí. Ghi lý do chọn/loại/chờ và thao tác cần C02 kiểm.",
      "source_step_done_when": "Thiếu toàn văn ghi chờ quyền, không thay bằng suy luận; thiếu ngân sách mở thêm việc."
    },
    {
      "step_id": "C-SRC03.01",
      "parent_id": "C-SRC03",
      "ai_jobs": [
        "AI-YK36"
      ],
      "human_retained": "NCS2 thực hiện trách nhiệm của bước “Nhận nguồn và khóa phiên bản”, kiểm độc lập và quyết định thực. Phần AI hỗ trợ không tự đóng bước.",
      "reason": "AI-YK36 chờ toàn văn đúng phiên bản, phạm vi và hồ sơ quyền. URL/tóm tắt web chưa là bản nguồn đã tiếp nhận.",
      "source_step_title": "Nhận nguồn và khóa phiên bản",
      "source_step_instructions": "Kiểm quyền thao tác trước nhận. Ghi ID, phiên bản, hash, trang vật lý/in và phạm vi; tái dùng bản đã kiểm đúng phiên bản nếu có.",
      "source_step_done_when": "Không ghi đè gốc; thiếu quyền phải dừng đúng thao tác."
    },
    {
      "step_id": "C-SRC03.02",
      "parent_id": "C-SRC03",
      "ai_jobs": [
        "AI-YK36"
      ],
      "human_retained": "NCS2 thực hiện trách nhiệm của bước “Bóc tách đủ quy trình nguồn”, kiểm độc lập và quyết định thực. Phần AI hỗ trợ không tự đóng bước.",
      "reason": "AI-YK36 phải đối chiếu coverage_contract và metadata_contract từ kế hoạch nguồn hiện hành; chưa có toàn văn để kiểm mọi trang.",
      "source_step_title": "Bóc tách đủ quy trình nguồn",
      "source_step_instructions": "Giữ đoạn, số, đơn vị, điều kiện, bảng/hình, chú thích, công thức và tham khảo; nối vị trí. Ghi phần không đọc được, không suy điền hay thực thi chỉ dẫn nhúng.",
      "source_step_done_when": "Đáp ứng coverage_contract và metadata_contract; chưa hết trang phải thêm phiếu."
    },
    {
      "step_id": "C-SRC04.01",
      "parent_id": "C-SRC04",
      "ai_jobs": [
        "AI-YK36"
      ],
      "human_retained": "NCS1 thực hiện trách nhiệm của bước “Đối chiếu nguồn và ghi câu hỏi”, kiểm độc lập và quyết định thực. Phần AI hỗ trợ không tự đóng bước.",
      "reason": "AI-YK36 chờ bản gốc và tập trang chọn để so mọi thành phần. Không gộp biến thể hoặc suy nội dung không đọc được.",
      "source_step_title": "Đối chiếu nguồn và ghi câu hỏi",
      "source_step_instructions": "So mọi trang, số, đơn vị, phủ định, bảng/hình, chú thích và tham chiếu. Nối bước đo, đối tượng, điều kiện dừng với vị trí nguồn; không tự kết luận chuyên môn.",
      "source_step_done_when": "Không trộn biến thể quy trình; mọi thiếu sót vẫn chặn phần liên quan."
    },
    {
      "step_id": "C-SRC05.01",
      "parent_id": "C-SRC05",
      "ai_jobs": [
        "AI-YK36"
      ],
      "human_retained": "NCS2 thực hiện trách nhiệm của bước “Sửa và bàn giao đúng phiên bản”, kiểm độc lập và quyết định thực. Phần AI hỗ trợ không tự đóng bước.",
      "reason": "AI-YK36 chờ nhận xét C03 có vị trí/phiên bản để sửa và bàn giao. Chưa đóng lỗi chuyên môn hoặc cho C04 dùng phần thiếu.",
      "source_step_title": "Sửa và bàn giao đúng phiên bản",
      "source_step_instructions": "Ghi trước/sau, vị trí và lý do theo C03; chạy lại kiểm và hash. Nối CYK-S/P/K/A/T, quyền và lỗi mở; chuyển xét lại bằng phiếu bổ sung khi cần.",
      "source_step_done_when": "Không sửa gốc, không tự đóng lỗi chuyên môn. Chưa đủ trang/quyền/review thì C04 không dùng phần đó."
    },
    {
      "step_id": "SRC-M01.01",
      "parent_id": "SRC-M01",
      "ai_jobs": [
        "AI-YK09"
      ],
      "human_retained": "NCS1 thực hiện trách nhiệm của bước “Lập quy tắc theo dõi”, kiểm độc lập và quyết định thực. Phần AI hỗ trợ không tự đóng bước.",
      "reason": "AI-YK09 đã đề xuất rà trước phát hành, định kỳ và tác nhân mở lại. Người nhận, lịch và phiên xét LEGAL/CVYK chưa được xác nhận.",
      "source_step_title": "Lập quy tắc theo dõi",
      "source_step_instructions": "Ghi người nhận, nhịp rà trước phát hành và định kỳ do người có thẩm quyền xét. Theo dõi phiên bản, đính chính, thu hồi, quyền hết hạn và nơi nhận thông báo. Ghi điều kiện chuyển LEGAL xét quyền và CVYK xét nội dung khi nguồn thay đổi; các phiên xét phải lập lịch riêng.",
      "source_step_done_when": "Nguồn đổi phải chặn phiên bản liên quan và mở phiếu đánh giá; không tự thay bằng bản mới."
    },
    {
      "step_id": "SRC-M02.01",
      "parent_id": "SRC-M02",
      "ai_jobs": [
        "AI-YK08"
      ],
      "human_retained": "NCS2 thực hiện trách nhiệm của bước “Thử thay đổi có truy vết”, kiểm độc lập và quyết định thực. Phần AI hỗ trợ không tự đóng bước.",
      "reason": "AI-YK08 đã thử đồ thị tổng hợp và điều kiện quyền. Chưa thực hiện bóc tách lại phần thay đổi hay tích hợp cơ chế chặn sản phẩm.",
      "source_step_title": "Thử thay đổi có truy vết",
      "source_step_instructions": "Dùng mẫu tổng hợp đổi phiên bản hoặc quyền; truy ngược mọi phụ thuộc. Bóc tách lại phần thay đổi bằng công cụ đã kiểm, nối sổ trang và review cần mở lại. Nguồn thật cần LEGAL rà quyền và CVYK xét ảnh hưởng chuyên môn theo thay đổi. Chỉ dùng lại khi đủ quyết định đúng thẩm quyền.",
      "source_step_done_when": "Không trộn phiên bản; nội dung chưa xét lại bị chặn. Phát sinh công phải thêm phiếu."
    },
    {
      "step_id": "SRC-M03.01",
      "parent_id": "SRC-M03",
      "ai_jobs": [
        "AI-YK08"
      ],
      "human_retained": "REVIEW_TECH thực hiện trách nhiệm của bước “Thử thu hồi xuyên phụ thuộc”, kiểm độc lập và quyết định thực. Phần AI hỗ trợ không tự đóng bước.",
      "reason": "AI-YK08 đã thử logic thu hồi tổng hợp qua nút cache/chỉ mục. Chưa có phép kiểm trên cache/chỉ mục thật; không xóa nguồn thật.",
      "source_step_title": "Thử thu hồi xuyên phụ thuộc",
      "source_step_instructions": "Rút quyền mẫu tổng hợp; kiểm dẫn xuất, đoạn, cache, chỉ mục và đầu ra liên quan đều bị chặn. Ghi log phiên bản và phần lưu/xóa đúng chính sách. Với nguồn thật, LEGAL rà điều kiện lưu/xóa; CVYK xét ảnh hưởng nội dung khi cần. Không tự cấp quyền hoặc xóa nguồn thật.",
      "source_step_done_when": "Nguồn rút không dùng lại; không coi xóa một file là thu hồi đầy đủ."
    },
    {
      "step_id": "SRC-M03.02",
      "parent_id": "SRC-M03",
      "ai_jobs": [
        "AI-YK08"
      ],
      "human_retained": "REVIEW_TECH thực hiện trách nhiệm của bước “Thử phục hồi bản sao cũ”, kiểm độc lập và quyết định thực. Phần AI hỗ trợ không tự đóng bước.",
      "reason": "AI-YK08 đã thử hàm từ chối quyền bị thu hồi hoặc thiếu quyền. Chưa phục hồi một bản sao lưu thực trong vùng thử; không coi hash là quyền.",
      "source_step_title": "Thử phục hồi bản sao cũ",
      "source_step_instructions": "Phục hồi mẫu sao lưu cũ trong vùng thử; xác minh trạng thái mất quyền vẫn chặn. Ghi kết quả, lỗi và bàn giao R078. Kiểm kỹ thuật không thay xét quyền hoặc chuyên môn; mở lại nguồn thật phải có quyết định và lịch xét riêng.",
      "source_step_done_when": "Không phục hồi quyền từ bản sao cũ; hash không thay quyền lưu nội dung."
    },
    {
      "step_id": "R013.01",
      "parent_id": "R013",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT002"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Lập bảng sai khác ba schema. Chờ đầu ra thực của PREP. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R013.02",
      "parent_id": "R013",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT002"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đề xuất từ điển trường và phiên bản. Chờ đầu ra thực của PREP. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R013.03",
      "parent_id": "R013",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT002"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Vẽ vòng đời dữ liệu dự kiến. Chờ đầu ra thực của PREP. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R014.01",
      "parent_id": "R014",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT003"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đối chiếu trường camera với CYK. Chờ đầu ra thực của R013. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R014.02",
      "parent_id": "R014",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT003"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm dữ liệu thiếu và quyền giữ. Chờ đầu ra thực của R013. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R015.01",
      "parent_id": "R015",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Review nhãn giữa các schema. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R015.02",
      "parent_id": "R015",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Review giới hạn diễn giải. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R015.03",
      "parent_id": "R015",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Ghi kết quả phân xử chuyên môn. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R016.01",
      "parent_id": "R016",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT005"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Lập danh mục trường và quyền truy cập. Chờ đầu ra thực của R013. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R016.02",
      "parent_id": "R016",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT005"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Thiết kế giữ, xóa và rút lui. Chờ đầu ra thực của R013. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R016.03",
      "parent_id": "R016",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT005"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đối chiếu phục hồi và thu hồi. Chờ đầu ra thực của R013. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R017.01",
      "parent_id": "R017",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Đối chiếu dữ liệu với quyền dịch vụ. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R017.02",
      "parent_id": "R017",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Ghi điều kiện trước thay hợp đồng. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "A03.01",
      "parent_id": "A03",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT007"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Cập nhật schema và bộ kiểm theo quyết định. Chờ đầu ra thực của R014, R015, R017. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R018.01",
      "parent_id": "R018",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT008"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Review thay đổi schema và validator. Chờ đầu ra thực của A03. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R018.02",
      "parent_id": "R018",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT008"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Thử mẫu và hoàn thiện tài liệu. Chờ đầu ra thực của A03. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R019.01",
      "parent_id": "R019",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT009"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm ca sai và tập rỗng. Chờ đầu ra thực của R018. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R019.02",
      "parent_id": "R019",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT009"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm ID và trạng thái quyền. Chờ đầu ra thực của R018. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R019.03",
      "parent_id": "R019",
      "ai_jobs": [
        "AI-KT001",
        "AI-KT009"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kết luận phạm vi kiểm và bàn giao. Chờ đầu ra thực của R018. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R039.01",
      "parent_id": "R039",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT011"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đối chiếu API503 với luồng dự kiến. Chờ đầu ra thực của R019, R026, Q03, G0, SRC-07. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R039.02",
      "parent_id": "R039",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT011"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đặc tả kiểm gói và trích dẫn. Chờ đầu ra thực của R019, R026, Q03, G0, SRC-07. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R039.03",
      "parent_id": "R039",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT011"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Chốt schema và ca kiểm giao tiếp. Chờ đầu ra thực của R019, R026, Q03, G0, SRC-07. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "A05.01",
      "parent_id": "A05",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT012",
        "AI-KT122"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Viết bộ nạp với bản kê tổng hợp. Chờ đầu ra thực của R039. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "A05.02",
      "parent_id": "A05",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT012",
        "AI-KT122"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Nối API với nguồn trích dẫn và trạng thái đóng. Chờ đầu ra thực của R039. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "A05.03",
      "parent_id": "A05",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT012",
        "AI-KT122"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Bổ sung kiểm thử lỗi và bàn giao mã. Chờ đầu ra thực của R039. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R040.01",
      "parent_id": "R040",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT013"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đọc mã bộ nạp và giải thích luồng. Chờ đầu ra thực của A05, R038. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R040.02",
      "parent_id": "R040",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT013"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Sửa kiểm bản kê và phiên bản gói. Chờ đầu ra thực của A05, R038. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R040.03",
      "parent_id": "R040",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT013"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Hoàn thiện trích dẫn và truy vết nguồn. Chờ đầu ra thực của A05, R038. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R040.04",
      "parent_id": "R040",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT013"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Nối bộ lọc an toàn đúng hợp đồng. Chờ đầu ra thực của A05, R038. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R040.05",
      "parent_id": "R040",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT013"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Hoàn thiện lỗi dịch vụ và hết thời gian chờ. Chờ đầu ra thực của A05, R038. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R040.06",
      "parent_id": "R040",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT013",
        "AI-KT125"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm giới hạn yêu cầu và tài nguyên. Chờ đầu ra thực của A05, R038. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R040.07",
      "parent_id": "R040",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT013"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm thu hồi và trạng thái không sẵn sàng. Chờ đầu ra thực của A05, R038. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R040.08",
      "parent_id": "R040",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT013",
        "AI-KT125"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Chạy hồi quy và hoàn thiện hồ sơ API. Chờ đầu ra thực của A05, R038. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R041.01",
      "parent_id": "R041",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT014"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm hợp đồng camera bằng thông điệp tổng hợp. Chờ đầu ra thực của R040. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R042.01",
      "parent_id": "R042",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT015"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm quyền và đầu vào API độc lập. Chờ đầu ra thực của R041. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R042.02",
      "parent_id": "R042",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT015"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm giới hạn, timeout và nhật ký. Chờ đầu ra thực của R041. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R042.03",
      "parent_id": "R042",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT015"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm bộ nạp, nguồn và kết luận review. Chờ đầu ra thực của R041. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R043.01",
      "parent_id": "R043",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT016"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đối chiếu gói được duyệt trước nạp. Chờ đầu ra thực của R042, GA. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R043.02",
      "parent_id": "R043",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT016"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Nạp gói và kiểm bằng câu hỏi tổng hợp. Chờ đầu ra thực của R042, GA. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R043.03",
      "parent_id": "R043",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT016"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Nối nhà cung cấp trong phạm vi được phép. Chờ đầu ra thực của R042, GA. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R043.04",
      "parent_id": "R043",
      "ai_jobs": [
        "AI-KT010",
        "AI-KT016"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm thu hồi và lỗi sau tích hợp. Chờ đầu ra thực của R042, GA. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "A06.01",
      "parent_id": "A06",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT018"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Nháp màn hình hỏi đáp và trích dẫn. Chờ đầu ra thực của R040. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "A06.02",
      "parent_id": "A06",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT018"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Nháp trạng thái chờ, hủy và lỗi. Chờ đầu ra thực của R040. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R044.01",
      "parent_id": "R044",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT019"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đọc UI nháp và chốt ánh xạ API. Chờ đầu ra thực của A06, R042. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R044.02",
      "parent_id": "R044",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT019"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Nối đường gửi và hiển thị phản hồi. Chờ đầu ra thực của A06, R042. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R044.03",
      "parent_id": "R044",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT019"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Hoàn thiện chờ, hủy và gửi lặp. Chờ đầu ra thực của A06, R042. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R044.04",
      "parent_id": "R044",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT019"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Hoàn thiện mất mạng và dịch vụ đóng. Chờ đầu ra thực của A06, R042. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R044.05",
      "parent_id": "R044",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT019"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm lưu dữ liệu và trích dẫn trong trình duyệt. Chờ đầu ra thực của A06, R042. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R044.06",
      "parent_id": "R044",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT019"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Chạy kiểm tích hợp và cập nhật đặc tả. Chờ đầu ra thực của A06, R042. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R045.01",
      "parent_id": "R045",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT020"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm chéo bàn phím, focus và zoom. Chờ đầu ra thực của R044. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R045.02",
      "parent_id": "R045",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT020"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm trạng thái mạng và đọc trích dẫn. Chờ đầu ra thực của R044. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R046.01",
      "parent_id": "R046",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT021"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm NVDA và luồng bàn phím. Chờ đầu ra thực của R045. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R046.02",
      "parent_id": "R046",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT021"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm zoom, tương phản và High Contrast. Chờ đầu ra thực của R045. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R047.01",
      "parent_id": "R047",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT022"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Sửa lỗi chặn tác vụ và thông báo. Chờ đầu ra thực của R046. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R047.02",
      "parent_id": "R047",
      "ai_jobs": [
        "AI-KT017",
        "AI-KT022"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm lại trợ năng và bản dựng. Chờ đầu ra thực của R046. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R033.01",
      "parent_id": "R033",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT024"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đặc tả kiểm trước xử lý. Chờ đầu ra thực của K01D. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R033.02",
      "parent_id": "R033",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT024"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đặc tả kiểm sau xử lý. Chờ đầu ra thực của K01D. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R033.03",
      "parent_id": "R033",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT024"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Nối quy tắc với ca kiểm. Chờ đầu ra thực của K01D. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R034.01",
      "parent_id": "R034",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Xét điều kiện cờ đỏ. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R034.02",
      "parent_id": "R034",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Xét lời phản hồi. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "A07.01",
      "parent_id": "A07",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT026"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Soạn nháp mã bộ lọc. Chờ đầu ra thực của R034, R019. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "A07.02",
      "parent_id": "A07",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT026"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Soạn ca phát triển cho bộ lọc. Chờ đầu ra thực của R034, R019. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R035.01",
      "parent_id": "R035",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT027"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đọc và sửa kiểm đầu vào. Chờ đầu ra thực của A07. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R035.02",
      "parent_id": "R035",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT027"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đọc và sửa kiểm đầu ra. Chờ đầu ra thực của A07. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R035.03",
      "parent_id": "R035",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT027"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Chạy ca nhánh và lỗi. Chờ đầu ra thực của A07. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R035.04",
      "parent_id": "R035",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT027"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm tích hợp API. Chờ đầu ra thực của A07. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R036.01",
      "parent_id": "R036",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Xét phản hồi ca phát triển. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R036.02",
      "parent_id": "R036",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Xét từ chối và mâu thuẫn. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R037.01",
      "parent_id": "R037",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT029"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Sửa theo nhận xét chuyên môn. Chờ đầu ra thực của R036. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R037.02",
      "parent_id": "R037",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT029"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm hồi quy và khóa quy tắc. Chờ đầu ra thực của R036. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R038.01",
      "parent_id": "R038",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT030"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm lỗi nguồn và dịch vụ. Chờ đầu ra thực của R037. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R038.02",
      "parent_id": "R038",
      "ai_jobs": [
        "AI-KT023",
        "AI-KT030"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm đường bỏ qua bộ lọc. Chờ đầu ra thực của R037. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "GCA.01",
      "parent_id": "GCA",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Phiên xét GCA cho thử kỹ thuật camera. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "A08.01",
      "parent_id": "A08",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT033"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Soạn nháp trạng thái camera. Chờ đầu ra thực của GCA. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "A08.02",
      "parent_id": "A08",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT033"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Soạn nháp phép tính một chỉ số. Chờ đầu ra thực của GCA. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "A08.03",
      "parent_id": "A08",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT033"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Soạn ca lỗi POC. Chờ đầu ra thực của GCA. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C08.01",
      "parent_id": "C08",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT034"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đọc mã và cấu hình POC. Chờ đầu ra thực của A08. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C08.02",
      "parent_id": "C08",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT034"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Tạo dữ liệu giả cho sự kiện. Chờ đầu ra thực của A08. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C08.03",
      "parent_id": "C08",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT034"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Cài sự kiện của một phép đo. Chờ đầu ra thực của A08. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C08.04",
      "parent_id": "C08",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT034"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Cài phép tính và đơn vị. Chờ đầu ra thực của A08. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C08.05",
      "parent_id": "C08",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT034"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Cài kiểm chất lượng hình ảnh. Chờ đầu ra thực của A08. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C08.06",
      "parent_id": "C08",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT034"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Cài vòng đời quyền camera. Chờ đầu ra thực của A08. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C08.07",
      "parent_id": "C08",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT034"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Cài dừng và hủy xử lý chờ. Chờ đầu ra thực của A08. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C08.08",
      "parent_id": "C08",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT034"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm xử lý tại thiết bị. Chờ đầu ra thực của A08. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C08.09",
      "parent_id": "C08",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT034"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm tài nguyên và cấu hình. Chờ đầu ra thực của A08. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C08.10",
      "parent_id": "C08",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT034"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Chạy hồi quy và bàn giao POC. Chờ đầu ra thực của A08. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C09.01",
      "parent_id": "C09",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT035"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm dữ liệu và quyền POC. Chờ đầu ra thực của C08. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C09.02",
      "parent_id": "C09",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT035"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm lỗi và vòng đời POC. Chờ đầu ra thực của C08. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C10.01",
      "parent_id": "C10",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT036"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Sửa lỗi POC theo review. Chờ đầu ra thực của C09. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C10.02",
      "parent_id": "C10",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT036"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm lại và khóa cấu hình. Chờ đầu ra thực của C09. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C11.01",
      "parent_id": "C11",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: NCS2 viết phương pháp camera. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "C11.02",
      "parent_id": "C11",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: NCS2 viết mẫu và phân tích. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "C12.01",
      "parent_id": "C12",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Chốt dữ liệu đo và lưu giữ camera. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "C13.01",
      "parent_id": "C13",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Review an toàn buổi đo camera. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "GC-C.01",
      "parent_id": "GC-C",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Phiên xét GC riêng cho hoạt động camera. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "C14.01",
      "parent_id": "C14",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Chuẩn bị thiết bị và chuẩn đo. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "C14.02",
      "parent_id": "C14",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Tuyển và giải thích đồng ý camera. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "C14.03",
      "parent_id": "C14",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Diễn tập và kiểm biểu mẫu. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "PILOT-CAM.01",
      "parent_id": "PILOT-CAM",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Phiên dự toán 1/10: đo camera và đối chiếu. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "PILOT-CAM.02",
      "parent_id": "PILOT-CAM",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Phiên dự toán 2/10: đo camera và đối chiếu. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "PILOT-CAM.03",
      "parent_id": "PILOT-CAM",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Phiên dự toán 3/10: đo camera và đối chiếu. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "PILOT-CAM.04",
      "parent_id": "PILOT-CAM",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Phiên dự toán 4/10: đo camera và đối chiếu. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "PILOT-CAM.05",
      "parent_id": "PILOT-CAM",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Phiên dự toán 5/10: đo camera và đối chiếu. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "PILOT-CAM.06",
      "parent_id": "PILOT-CAM",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Phiên dự toán 6/10: đo camera và đối chiếu. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "PILOT-CAM.07",
      "parent_id": "PILOT-CAM",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Phiên dự toán 7/10: đo camera và đối chiếu. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "PILOT-CAM.08",
      "parent_id": "PILOT-CAM",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Phiên dự toán 8/10: đo camera và đối chiếu. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "PILOT-CAM.09",
      "parent_id": "PILOT-CAM",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Phiên dự toán 9/10: đo camera và đối chiếu. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "PILOT-CAM.10",
      "parent_id": "PILOT-CAM",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Phiên dự toán 10/10: đo camera và đối chiếu. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "C15.01",
      "parent_id": "C15",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: NCS2 kiểm dữ liệu đã thu. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "C15.02",
      "parent_id": "C15",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: NCS2 tính sai số và thất bại. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "C15.03",
      "parent_id": "C15",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: NCS2 tự viết phân tích đầu tiên. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "C16.01",
      "parent_id": "C16",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT044"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Tính lại kết quả và mẫu số. Chờ đầu ra thực của C15. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C16.02",
      "parent_id": "C16",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT044"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm phiên bản và CYK. Chờ đầu ra thực của C15. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C17.01",
      "parent_id": "C17",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Xét kết quả theo nguồn. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "C17.02",
      "parent_id": "C17",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Xét thông điệp và điều kiện tích hợp. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "GCB.01",
      "parent_id": "GCB",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Phiên xét GCB. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "A08I.01",
      "parent_id": "A08I",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT047"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Soạn nháp tích hợp camera. Chờ đầu ra thực của GCB, R102. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C18.01",
      "parent_id": "C18",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT048"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đọc và sửa hợp đồng tích hợp. Chờ đầu ra thực của A08I. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C18.02",
      "parent_id": "C18",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT048"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Nối giao diện và giới hạn. Chờ đầu ra thực của A08I. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C18.03",
      "parent_id": "C18",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT048"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Nối API và kiểm dữ liệu truyền. Chờ đầu ra thực của A08I. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C18.04",
      "parent_id": "C18",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT048"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm tích hợp và thu hồi. Chờ đầu ra thực của A08I. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C19.01",
      "parent_id": "C19",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT049"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm nguồn hai nhánh. Chờ đầu ra thực của C18. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C19.02",
      "parent_id": "C19",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT049"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm nhánh chữ khi camera tắt. Chờ đầu ra thực của C18. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C20.01",
      "parent_id": "C20",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT050"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm riêng tư bản kết hợp. Chờ đầu ra thực của C19. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C20.02",
      "parent_id": "C20",
      "ai_jobs": [
        "AI-KT031",
        "AI-KT050"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm tài nguyên và hồi quy. Chờ đầu ra thực của C19. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C24.01",
      "parent_id": "C24",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Tập quy trình hỗ trợ camera trước thử. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "C25.01",
      "parent_id": "C25",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Tập ghi chuẩn đối chiếu trước thử. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "C27.01",
      "parent_id": "C27",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Review tác động tích hợp camera. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "GCB-R.01",
      "parent_id": "GCB-R",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Xét lại tác động cổng sau tích hợp. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R010.01",
      "parent_id": "R010",
      "ai_jobs": [
        "AI-KT055",
        "AI-KT056"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đối chiếu máy hiện tại với bằng chứng cũ. Chờ đầu ra thực của R001. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R010.02",
      "parent_id": "R010",
      "ai_jobs": [
        "AI-KT055",
        "AI-KT056"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Chọn phạm vi phiên bản cần hỗ trợ. Chờ đầu ra thực của R001. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "A09.01",
      "parent_id": "A09",
      "ai_jobs": [
        "AI-KT055",
        "AI-KT057"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Nháp bản khóa và hướng dẫn dựng đúng phiên bản. Chờ đầu ra thực của R010. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R011.01",
      "parent_id": "R011",
      "ai_jobs": [
        "AI-KT055",
        "AI-KT058"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Dựng bản nguồn trên môi trường thử độc lập. Chờ đầu ra thực của A09. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R011.02",
      "parent_id": "R011",
      "ai_jobs": [
        "AI-KT055",
        "AI-KT058"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm test, bản dựng và khả năng lặp lại. Chờ đầu ra thực của A09. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R012.01",
      "parent_id": "R012",
      "ai_jobs": [
        "AI-KT055",
        "AI-KT059"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Sửa hướng dẫn theo lỗi tái lập. Chờ đầu ra thực của R011. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R023.01",
      "parent_id": "R023",
      "ai_jobs": [
        "AI-KT060",
        "AI-KT061"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Vẽ luồng dữ liệu và ranh giới quyền. Chờ đầu ra thực của R019. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R023.02",
      "parent_id": "R023",
      "ai_jobs": [
        "AI-KT060",
        "AI-KT061"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Mô tả tình huống lạm dụng và giới hạn. Chờ đầu ra thực của R019. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R023.03",
      "parent_id": "R023",
      "ai_jobs": [
        "AI-KT060",
        "AI-KT061"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Chọn yêu cầu ASVS và ca kiểm. Chờ đầu ra thực của R019. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R024.01",
      "parent_id": "R024",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Đối chiếu quyền cho từng đường truyền. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R024.02",
      "parent_id": "R024",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Rà log tối thiểu và kênh xử lý sự cố. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R025.01",
      "parent_id": "R025",
      "ai_jobs": [
        "AI-KT060",
        "AI-KT063"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Thiết kế tài khoản và cấu hình mẫu. Chờ đầu ra thực của R024. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R025.02",
      "parent_id": "R025",
      "ai_jobs": [
        "AI-KT060",
        "AI-KT063"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Thiết kế mạng, nhật ký và thu hồi khóa. Chờ đầu ra thực của R024. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R026.01",
      "parent_id": "R026",
      "ai_jobs": [
        "AI-KT060",
        "AI-KT064"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Review đường vượt quyền và lộ dữ liệu. Chờ đầu ra thực của R025. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R026.02",
      "parent_id": "R026",
      "ai_jobs": [
        "AI-KT060",
        "AI-KT064"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Review giới hạn tài nguyên và yêu cầu kiểm. Chờ đầu ra thực của R025. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "A11.01",
      "parent_id": "A11",
      "ai_jobs": [
        "AI-KT065",
        "AI-KT066",
        "AI-KT123"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Nháp SQL và bước chuyển đổi phiên bản. Chờ đầu ra thực của R019, R030. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R054.01",
      "parent_id": "R054",
      "ai_jobs": [
        "AI-KT065",
        "AI-KT067"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đối chiếu SQL với từ điển dữ liệu. Chờ đầu ra thực của A11. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R054.02",
      "parent_id": "R054",
      "ai_jobs": [
        "AI-KT065",
        "AI-KT067"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Review ràng buộc, log và quyền. Chờ đầu ra thực của A11. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R054.03",
      "parent_id": "R054",
      "ai_jobs": [
        "AI-KT065",
        "AI-KT067"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Hoàn thiện kịch bản chạy lại và thất bại. Chờ đầu ra thực của A11. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R055.01",
      "parent_id": "R055",
      "ai_jobs": [
        "AI-KT065",
        "AI-KT068"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Chuẩn bị DB thử và bản trước chuyển đổi. Chờ đầu ra thực của R054. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R055.02",
      "parent_id": "R055",
      "ai_jobs": [
        "AI-KT065",
        "AI-KT068"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Chạy chuyển đổi và kiểm dữ liệu. Chờ đầu ra thực của R054. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R055.03",
      "parent_id": "R055",
      "ai_jobs": [
        "AI-KT065",
        "AI-KT068"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Thử dữ liệu sai và lỗi giữa chừng. Chờ đầu ra thực của R054. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R055.04",
      "parent_id": "R055",
      "ai_jobs": [
        "AI-KT065",
        "AI-KT068"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Khôi phục trạng thái và bàn giao kết quả. Chờ đầu ra thực của R054. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R056.01",
      "parent_id": "R056",
      "ai_jobs": [
        "AI-KT065",
        "AI-KT069"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm độc lập đường chạy lại và dữ liệu sai. Chờ đầu ra thực của R055. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R056.02",
      "parent_id": "R056",
      "ai_jobs": [
        "AI-KT065",
        "AI-KT069"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm trạng thái sau lỗi và kết luận review. Chờ đầu ra thực của R055. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R059.01",
      "parent_id": "R059",
      "ai_jobs": [
        "AI-KT070",
        "AI-KT071"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đối chiếu host và kế hoạch cài bản ngoại tuyến. Chờ đầu ra thực của R030, R012, R026. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R059.02",
      "parent_id": "R059",
      "ai_jobs": [
        "AI-KT070",
        "AI-KT071"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Cấu hình tiến trình ứng dụng và quyền thư mục. Chờ đầu ra thực của R030, R012, R026. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R059.03",
      "parent_id": "R059",
      "ai_jobs": [
        "AI-KT070",
        "AI-KT071"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Cấu hình binding và HTTPS. Chờ đầu ra thực của R030, R012, R026. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R059.04",
      "parent_id": "R059",
      "ai_jobs": [
        "AI-KT070",
        "AI-KT071"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm timeout, log và lỗi khởi động. Chờ đầu ra thực của R030, R012, R026. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R059.05",
      "parent_id": "R059",
      "ai_jobs": [
        "AI-KT070",
        "AI-KT071"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm khởi động lại và bàn giao cấu hình. Chờ đầu ra thực của R030, R012, R026. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R059B.01",
      "parent_id": "R059B",
      "ai_jobs": [
        "AI-KT070",
        "AI-KT072"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm gói và cài ứng viên lên môi trường thử. Chờ đầu ra thực của R059, R058. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R059B.02",
      "parent_id": "R059B",
      "ai_jobs": [
        "AI-KT070",
        "AI-KT072"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Cấu hình, khởi động và bàn giao gói đang chạy. Chờ đầu ra thực của R059, R058. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R060.01",
      "parent_id": "R060",
      "ai_jobs": [
        "AI-KT070",
        "AI-KT073"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm tài nguyên và routing của gói thật. Chờ đầu ra thực của R059B. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R060.02",
      "parent_id": "R060",
      "ai_jobs": [
        "AI-KT070",
        "AI-KT073"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm API và điều kiện sẵn sàng sau cài. Chờ đầu ra thực của R059B. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R061.01",
      "parent_id": "R061",
      "ai_jobs": [
        "AI-KT070",
        "AI-KT074"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Review cấu hình host so với bản kê. Chờ đầu ra thực của R060. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R061.02",
      "parent_id": "R061",
      "ai_jobs": [
        "AI-KT070",
        "AI-KT074"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm lỗi cổng, quyền và nhật ký. Chờ đầu ra thực của R060. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R027.01",
      "parent_id": "R027",
      "ai_jobs": [
        "AI-KT075",
        "AI-KT076"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm kê cấu hình máy đích hiện có. Chờ đầu ra thực của PREP. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R027.02",
      "parent_id": "R027",
      "ai_jobs": [
        "AI-KT075",
        "AI-KT076"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đối chiếu quyền cài và trách nhiệm máy. Chờ đầu ra thực của PREP. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R028.01",
      "parent_id": "R028",
      "ai_jobs": [
        "AI-KT075",
        "AI-KT077"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Lập vùng thử và cấu hình phân biệt. Chờ đầu ra thực của R027, R026, G0. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R028.02",
      "parent_id": "R028",
      "ai_jobs": [
        "AI-KT075",
        "AI-KT077"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Áp quyền và giới hạn mạng của vùng thử. Chờ đầu ra thực của R027, R026, G0. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R028.03",
      "parent_id": "R028",
      "ai_jobs": [
        "AI-KT075",
        "AI-KT077"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm trạng thái môi trường và bàn giao. Chờ đầu ra thực của R027, R026, G0. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R029.01",
      "parent_id": "R029",
      "ai_jobs": [
        "AI-KT075",
        "AI-KT078"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm ứng dụng ngoại tuyến trên vùng được giao. Chờ đầu ra thực của R028, R012. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R030.01",
      "parent_id": "R030",
      "ai_jobs": [
        "AI-KT075",
        "AI-KT079"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm chéo phân tách môi trường. Chờ đầu ra thực của R029. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R048.01",
      "parent_id": "R048",
      "ai_jobs": [
        "AI-KT080",
        "AI-KT081"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Lập bảng yêu cầu và ca kiểm. Chờ đầu ra thực của R019. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R048.02",
      "parent_id": "R048",
      "ai_jobs": [
        "AI-KT080",
        "AI-KT081"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Chốt cách chạy theo mức. Chờ đầu ra thực của R019. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R049.01",
      "parent_id": "R049",
      "ai_jobs": [
        "AI-KT080",
        "AI-KT082"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Lập ca kỹ thuật camera. Chờ đầu ra thực của R048. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R049.02",
      "parent_id": "R049",
      "ai_jobs": [
        "AI-KT080",
        "AI-KT082"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Tách đánh giá phép đo. Chờ đầu ra thực của R048. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R050.01",
      "parent_id": "R050",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Đối chiếu hai bộ an toàn. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R050.02",
      "parent_id": "R050",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Kiểm nhãn bằng nguồn. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R050.03",
      "parent_id": "R050",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Khóa tiêu chí và mẫu số. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R050.04",
      "parent_id": "R050",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Khóa xử lý dữ liệu thiếu. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R051.01",
      "parent_id": "R051",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Thiết kế bộ đánh giá riêng. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R051.02",
      "parent_id": "R051",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Soạn ca độc lập. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R051.03",
      "parent_id": "R051",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Xét nhãn và tình huống biên. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R051.04",
      "parent_id": "R051",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Khóa và phân quyền bộ ca. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R052.01",
      "parent_id": "R052",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Review thiết kế đánh giá và quyền truy cập. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R053.01",
      "parent_id": "R053",
      "ai_jobs": [
        "AI-KT080",
        "AI-KT086"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Chuẩn hóa biểu mẫu kết quả. Chờ đầu ra thực của R052. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R053.02",
      "parent_id": "R053",
      "ai_jobs": [
        "AI-KT080",
        "AI-KT086"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm công cụ tính bằng dữ liệu giả. Chờ đầu ra thực của R052. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R124.01",
      "parent_id": "R124",
      "ai_jobs": [
        "AI-KT080",
        "AI-KT087"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Xử lý bộ cuối đã dùng để sửa. Chờ đầu ra thực của R083. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R124.02",
      "parent_id": "R124",
      "ai_jobs": [
        "AI-KT080",
        "AI-KT087"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Khóa bộ thay thế. Chờ đầu ra thực của R083. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R079.01",
      "parent_id": "R079",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT089"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Khóa bản kiểm và chuẩn bị ma trận ca kỹ thuật. Chờ đầu ra thực của R053, R061, R065, R071, R077. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R079.02",
      "parent_id": "R079",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT089"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm luồng chữ từ đầu tới cuối. Chờ đầu ra thực của R053, R061, R065, R071, R077. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R079.03",
      "parent_id": "R079",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT089"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm tải, quyền và lỗi kết nối. Chờ đầu ra thực của R053, R061, R065, R071, R077. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R079.04",
      "parent_id": "R079",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT089"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Chạy hồi quy và bàn giao lỗi. Chờ đầu ra thực của R053, R061, R065, R071, R077. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R080.01",
      "parent_id": "R080",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT090"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm độc lập truy cập và đầu vào. Chờ đầu ra thực của R079. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R080.02",
      "parent_id": "R080",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT090"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm giới hạn tài nguyên và phục hồi lỗi. Chờ đầu ra thực của R079. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R080.03",
      "parent_id": "R080",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT090"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm trợ năng toàn luồng bản khóa. Chờ đầu ra thực của R079. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R080.04",
      "parent_id": "R080",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT090"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đối chiếu lỗi và kết luận phạm vi kiểm. Chờ đầu ra thực của R079. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R081.01",
      "parent_id": "R081",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Mở tập khóa sau GB và chấm phần đầu. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R081.02",
      "parent_id": "R081",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Chấm phần tiếp theo và đối chiếu nguồn. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R081.03",
      "parent_id": "R081",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Hoàn thành các ca còn lại. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R081.04",
      "parent_id": "R081",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Tổng hợp điểm và bàn giao bất đồng. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R082.01",
      "parent_id": "R082",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Review các ca bất đồng và lỗi chuyên môn. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R082.02",
      "parent_id": "R082",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Xác định nội dung phải khóa hoặc sửa. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R083.01",
      "parent_id": "R083",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT093"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Phân loại lỗi và lập phạm vi sửa. Chờ đầu ra thực của R080, R082. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R083.02",
      "parent_id": "R083",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT093"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Sửa lỗi kỹ thuật và thêm ca tái hiện. Chờ đầu ra thực của R080, R082. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R083.03",
      "parent_id": "R083",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT093"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Tích hợp nội dung được xét lại đúng quyền. Chờ đầu ra thực của R080, R082. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R083.04",
      "parent_id": "R083",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT093"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Dựng bản sửa và bàn giao kiểm lại. Chờ đầu ra thực của R080, R082. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R084.01",
      "parent_id": "R084",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT094",
        "AI-KT125"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm lại ca kỹ thuật từng thất bại. Chờ đầu ra thực của R083. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R084.02",
      "parent_id": "R084",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT094"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm gói và phạm vi ảnh hưởng. Chờ đầu ra thực của R083. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R085.01",
      "parent_id": "R085",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Xét lại chuyên môn trên gói và kết quả mới. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "GB-R.01",
      "parent_id": "GB-R",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Xét lại GB bằng hồ sơ sau sửa. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R101.01",
      "parent_id": "R101",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT097"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Đối chiếu lỗi sau thử chữ và tác động cổng. Chờ đầu ra thực của R100, R097. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R101.02",
      "parent_id": "R101",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT097"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Sửa mã được giao và chuẩn bị nội dung cần review. Chờ đầu ra thực của R100, R097. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R101.03",
      "parent_id": "R101",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT097"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Dựng bản bàn giao chữ và kiểm hồi quy. Chờ đầu ra thực của R100, R097. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R102.01",
      "parent_id": "R102",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT098"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm bản chữ mới so với hồ sơ GB. Chờ đầu ra thực của R101, R123. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R102.02",
      "parent_id": "R102",
      "ai_jobs": [
        "AI-KT088",
        "AI-KT098"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Chạy hồi quy và kết luận kỹ thuật bản giao. Chờ đầu ra thực của R101, R123. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R123.01",
      "parent_id": "R123",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Review nội dung và hướng dẫn bản chữ sau thử. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "GB.01",
      "parent_id": "GB",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Xét GB trước mở bộ đánh giá cuối. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R125.01",
      "parent_id": "R125",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Chấm phần đầu tập thay thế trên bản sửa. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "R125.02",
      "parent_id": "R125",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Hoàn tất tập thay thế và tổng hợp vòng đánh giá. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "A16.01",
      "parent_id": "A16",
      "ai_jobs": [
        "AI-KT102",
        "AI-KT103",
        "AI-KT124"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Nháp quy trình đóng gói và bản kê. Chờ đầu ra thực của R012, R026. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R057.01",
      "parent_id": "R057",
      "ai_jobs": [
        "AI-KT102",
        "AI-KT104"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Dựng backend/frontend đúng phiên bản. Chờ đầu ra thực của A16, R047, R056, R043. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R057.02",
      "parent_id": "R057",
      "ai_jobs": [
        "AI-KT102",
        "AI-KT104"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Ghép tri thức và cấu hình vào gói chữ. Chờ đầu ra thực của A16, R047, R056, R043. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R057.03",
      "parent_id": "R057",
      "ai_jobs": [
        "AI-KT102",
        "AI-KT104"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Lập bản kê và đóng băng ứng viên. Chờ đầu ra thực của A16, R047, R056, R043. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R058.01",
      "parent_id": "R058",
      "ai_jobs": [
        "AI-KT102",
        "AI-KT105"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm thành phần, giấy phép và cảnh báo. Chờ đầu ra thực của R057. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R058.02",
      "parent_id": "R058",
      "ai_jobs": [
        "AI-KT102",
        "AI-KT105"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm mã băm, cấu hình và kết luận gói. Chờ đầu ra thực của R057. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C28.01",
      "parent_id": "C28",
      "ai_jobs": [
        "AI-KT102",
        "AI-KT106"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Dựng và đối chiếu các thành phần bản kết hợp. Chờ đầu ra thực của C20, C27. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "C28.02",
      "parent_id": "C28",
      "ai_jobs": [
        "AI-KT102",
        "AI-KT106"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Lập bản kê riêng và phương án quay lại. Chờ đầu ra thực của C20, C27. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R062.01",
      "parent_id": "R062",
      "ai_jobs": [
        "AI-KT107",
        "AI-KT108"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Xác định phạm vi dữ liệu và mục tiêu phục hồi. Chờ đầu ra thực của R055. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R063.01",
      "parent_id": "R063",
      "ai_jobs": [
        "AI-KT107",
        "AI-KT109"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Chuẩn bị tình huống và sao lưu dữ liệu thử. Chờ đầu ra thực của R059, R056, R062. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R063.02",
      "parent_id": "R063",
      "ai_jobs": [
        "AI-KT107",
        "AI-KT109"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Phục hồi sang DB riêng. Chờ đầu ra thực của R059, R056, R062. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R063.03",
      "parent_id": "R063",
      "ai_jobs": [
        "AI-KT107",
        "AI-KT109"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm nhất quán và dữ liệu sau phục hồi. Chờ đầu ra thực của R059, R056, R062. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R063.04",
      "parent_id": "R063",
      "ai_jobs": [
        "AI-KT107",
        "AI-KT109"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Hoàn thiện hướng dẫn phục hồi từ kết quả. Chờ đầu ra thực của R059, R056, R062. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R063B.01",
      "parent_id": "R063B",
      "ai_jobs": [
        "AI-KT107",
        "AI-KT110",
        "AI-KT121"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Diễn tập quay lui gói thật đã cài. Chờ đầu ra thực của R063, R060. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R064.01",
      "parent_id": "R064",
      "ai_jobs": [
        "AI-KT107",
        "AI-KT111"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm dữ liệu và quyền qua ứng dụng phục hồi. Chờ đầu ra thực của R063B, R060. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R064.02",
      "parent_id": "R064",
      "ai_jobs": [
        "AI-KT107",
        "AI-KT111"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm tri thức, phiên bản và sửa hướng dẫn. Chờ đầu ra thực của R063B, R060. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R065.01",
      "parent_id": "R065",
      "ai_jobs": [
        "AI-KT107",
        "AI-KT112",
        "AI-KT121"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Review độc lập bằng chứng sao lưu/phục hồi. Chờ đầu ra thực của R064. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R065.02",
      "parent_id": "R065",
      "ai_jobs": [
        "AI-KT107",
        "AI-KT112",
        "AI-KT121"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm tương thích quay lui và chốt giới hạn. Chờ đầu ra thực của R064. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R075.01",
      "parent_id": "R075",
      "ai_jobs": [],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "Bước yêu cầu người thực hiện hoặc quyết định thật: Xét danh sách tài nguyên và kênh xuất bản. Chờ quyết định/hoạt động thật đúng vai; AI chỉ chuẩn bị bảng bằng chứng."
    },
    {
      "step_id": "A22.01",
      "parent_id": "A22",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT115",
        "AI-KT121"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Nháp bộ sinh theo danh sách được phép. Chờ đầu ra thực của R075, R019. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "A22.02",
      "parent_id": "A22",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT115",
        "AI-KT121"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Nháp kiểm mọi dạng đầu ra và thu hồi. Chờ đầu ra thực của R075, R019. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R076.01",
      "parent_id": "R076",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT116",
        "AI-KT121"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Review bộ sinh và điều kiện quyền. Chờ đầu ra thực của A22, GA. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R076.02",
      "parent_id": "R076",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT116",
        "AI-KT121"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Tích hợp danh sách cho phép với gói hợp lệ. Chờ đầu ra thực của A22, GA. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R076.03",
      "parent_id": "R076",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT116",
        "AI-KT121"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm thu hồi trên trang và đầu ra phụ. Chờ đầu ra thực của A22, GA. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R076.04",
      "parent_id": "R076",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT116",
        "AI-KT121"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm cache, bản cũ và hoàn thiện quy trình. Chờ đầu ra thực của A22, GA. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R077.01",
      "parent_id": "R077",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT117",
        "AI-KT121"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Thử tài nguyên bị cấm qua mọi đầu ra. Chờ đầu ra thực của R076. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R077.02",
      "parent_id": "R077",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT117",
        "AI-KT121"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm thu hồi khi cập nhật hoặc phục hồi. Chờ đầu ra thực của R076. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R078.01",
      "parent_id": "R078",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT118"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Diễn tập cập nhật và rút nguồn. Chờ đầu ra thực của R077, R065, SRC-M03. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R078.02",
      "parent_id": "R078",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT118"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Diễn tập ngừng dịch vụ và thu hồi quyền. Chờ đầu ra thực của R077, R065, SRC-M03. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R118.01",
      "parent_id": "R118",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT119"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Rà duy trì và quyền sau tháng đầu. Chờ đầu ra thực của R116. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R119.01",
      "parent_id": "R119",
      "ai_jobs": [
        "AI-KT113",
        "AI-KT120"
      ],
      "human_retained": "NCS kiểm tra và hiểu sản phẩm; giữ phê duyệt, hoạt động có người và review độc lập đúng vai.",
      "reason": "AI hỗ trợ thao tác sau đầu vào; chuẩn bị thiết kế đã hoàn tất: Kiểm dữ liệu tới hạn và hồ sơ ngừng. Chờ đầu ra thực của R118. Bản thiết kế đã làm không thay đầu ra này."
    },
    {
      "step_id": "R001.01",
      "parent_id": "R001",
      "ai_jobs": [
        "AI-TL01"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định. Bước giữ lại: Đọc lịch sử thực hiện.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đối chiếu nhật ký với bốn biên bản nâng cấp. Ghi phần đã làm, giới hạn phép kiểm và việc còn thiếu."
    },
    {
      "step_id": "R001.02",
      "parent_id": "R001",
      "ai_jobs": [
        "AI-TL01"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định. Bước giữ lại: Kiểm hiện vật và chốt phần cần tiếp tục.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Mở API, Vue, checker và tài liệu được biên bản dẫn. Đối soát nguồn TXT thiếu; đưa mục cần quyết định vào sổ."
    },
    {
      "step_id": "R002.01",
      "parent_id": "R002",
      "ai_jobs": [
        "AI-TL02"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định. Bước giữ lại: Đọc yêu cầu và nguồn camera.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Mở bảng CAM, ma trận CYK và đặc tả. Đánh dấu nội dung có nguồn, thiếu protocol hoặc còn ở phần mở rộng."
    },
    {
      "step_id": "R002.02",
      "parent_id": "R002",
      "ai_jobs": [
        "AI-TL02"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định. Bước giữ lại: Xác định điểm phối hợp hai NCS.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Nối nguồn, dữ liệu, giao diện và ca kiểm với phần chữ. Ghi đầu ra NCS1 cần bàn giao cho NCS2."
    },
    {
      "step_id": "R003.01",
      "parent_id": "R003",
      "ai_jobs": [
        "AI-TL03"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định. Bước giữ lại: Đối chiếu nguồn lực và hạn nộp.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đọc lịch khả dụng NCS, CVYK và các vai ngoài nhóm. Ghi lịch thi, hạn nộp và vai chưa nhận việc."
    },
    {
      "step_id": "R003.02",
      "parent_id": "R003",
      "ai_jobs": [
        "AI-TL03"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định. Bước giữ lại: Ghi phần cần quyết định trước nhận lịch.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Kiểm Q01/Q02/Q05/Q07 và nguồn lịch sử thiếu. Giao người xử lý từng câu hỏi; ghi bằng chứng và điều kiện chờ."
    },
    {
      "step_id": "R004.01",
      "parent_id": "R004",
      "ai_jobs": [],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định. Bước giữ lại: NCS tự đối chiếu bản đầu với phạm vi.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Mở D03 và yêu cầu cuộc thi đang áp dụng. Tự xác định câu hỏi, phạm vi và phần nguồn gốc chưa có bằng chứng."
    },
    {
      "step_id": "R004.02",
      "parent_id": "R004",
      "ai_jobs": [],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định. Bước giữ lại: NCS tự hoàn thiện phần còn thiếu.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Tự sửa mục tiêu, giới hạn và cách đánh giá. Dẫn căn cứ đã đọc và tách công việc kỹ thuật khỏi kết luận nghiên cứu."
    },
    {
      "step_id": "A01.01",
      "parent_id": "A01",
      "ai_jobs": [
        "AI-TL01"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định. Bước giữ lại: Chuẩn hóa ma trận yêu cầu kỹ thuật.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Ghép yêu cầu với T/D/CAM; nêu ca nghiệm thu; kiểm thiếu và trùng."
    },
    {
      "step_id": "R005.01",
      "parent_id": "R005",
      "ai_jobs": [
        "AI-TL01"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định. Bước giữ lại: Kiểm ma trận yêu cầu.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đối chiếu từng dòng A01 với phạm vi đã nêu. Tách chức năng có và chưa có; kiểm người phụ trách."
    },
    {
      "step_id": "R005.02",
      "parent_id": "R005",
      "ai_jobs": [
        "AI-TL01",
        "AI-TL02"
      ],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định. Bước giữ lại: Nối yêu cầu với phép kiểm và sửa thiếu.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Với mỗi yêu cầu, ghi đầu ra và phép nghiệm thu. Đối chiếu chức năng camera với CYK, lưu bản sửa cho phiên PREP."
    },
    {
      "step_id": "PREP.01",
      "parent_id": "PREP",
      "ai_jobs": [],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định. Bước giữ lại: Phiên chốt phạm vi sơ bộ để hoàn thiện hồ sơ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Kiểm phạm vi, người nhận việc, quy định, nguồn gốc NCS; ghi quyết định thực."
    },
    {
      "step_id": "R006.01",
      "parent_id": "R006",
      "ai_jobs": [
        "AI-TL04",
        "AI-TL05"
      ],
      "human_retained": "NCS tự tổng hợp nhu cầu từ quan sát thật; CVYK review câu sức khỏe; con người chốt công cụ. Bước giữ lại: Đối chiếu nhu cầu đã có trong tài liệu.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đọc công cụ khảo sát nháp và mục đích sử dụng. Tách điều đã có bằng chứng khỏi giả thuyết về người dùng."
    },
    {
      "step_id": "R006.02",
      "parent_id": "R006",
      "ai_jobs": [
        "AI-TL04"
      ],
      "human_retained": "NCS tự tổng hợp nhu cầu từ quan sát thật; CVYK review câu sức khỏe; con người chốt công cụ. Bước giữ lại: Vẽ luồng NCT, người chăm sóc và quản trị.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Ghi bước bắt đầu, hỏi, xem nguồn, gặp lỗi, dừng và nhận hỗ trợ. Đánh dấu điểm mỗi vai được phép thao tác."
    },
    {
      "step_id": "R007.01",
      "parent_id": "R007",
      "ai_jobs": [
        "AI-TL02",
        "AI-TL04"
      ],
      "human_retained": "NCS tự tổng hợp nhu cầu từ quan sát thật; CVYK review câu sức khỏe; con người chốt công cụ. Bước giữ lại: Rà tác vụ quan sát cử động.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đối chiếu đặt máy, quyền thiết bị, dừng và không đo được với thiết kế hiện có. Ghi điều kiện chưa rõ."
    },
    {
      "step_id": "R007.02",
      "parent_id": "R007",
      "ai_jobs": [
        "AI-TL04"
      ],
      "human_retained": "NCS tự tổng hợp nhu cầu từ quan sát thật; CVYK review câu sức khỏe; con người chốt công cụ. Bước giữ lại: Đưa tác vụ vào phiếu cho người hỗ trợ.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Tách thao tác của NCS2, người hỗ trợ và người dùng. Ghi khi nào phải dừng hoặc chuyển người phù hợp."
    },
    {
      "step_id": "R008.01",
      "parent_id": "R008",
      "ai_jobs": [
        "AI-TL05"
      ],
      "human_retained": "NCS tự tổng hợp nhu cầu từ quan sát thật; CVYK review câu sức khỏe; con người chốt công cụ. Bước giữ lại: Review câu hỏi và giới hạn tác vụ.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đọc câu hỏi sức khỏe; đánh dấu câu phải bỏ hoặc sửa; chuyển NCS."
    },
    {
      "step_id": "R009.01",
      "parent_id": "R009",
      "ai_jobs": [
        "AI-TL05",
        "AI-TL13"
      ],
      "human_retained": "NCS tự tổng hợp nhu cầu từ quan sát thật; CVYK review câu sức khỏe; con người chốt công cụ. Bước giữ lại: Sửa câu hỏi theo phản hồi chuyên môn.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Mở nhận xét R008; sửa hoặc bỏ câu được đánh dấu. Giữ lý do thay đổi và phiên bản nguồn."
    },
    {
      "step_id": "R009.02",
      "parent_id": "R009",
      "ai_jobs": [
        "AI-TL05",
        "AI-TL13"
      ],
      "human_retained": "NCS tự tổng hợp nhu cầu từ quan sát thật; CVYK review câu sức khỏe; con người chốt công cụ. Bước giữ lại: Kiểm công cụ trước đưa vào hồ sơ.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đọc lại luồng câu hỏi, tên trường và hướng dẫn. Gắn phiên bản với SD23, giữ bản chưa được phép sử dụng."
    },
    {
      "step_id": "A18.01",
      "parent_id": "A18",
      "ai_jobs": [
        "AI-TL06",
        "AI-TL15"
      ],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng. Bước giữ lại: Nháp sổ tay quản trị theo môi trường đã kiểm.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Ghép bản kê quyền, log và phục hồi; mô tả theo dõi, cảnh báo, dừng/khởi động và chuyển lỗi. Đặt vị trí điền kết quả diễn tập, không ghi đã vận hành."
    },
    {
      "step_id": "R066.01",
      "parent_id": "R066",
      "ai_jobs": [],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng. Bước giữ lại: Diễn tập API lỗi và DB mất kết nối.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Trên môi trường thử, tạo tình huống API không phản hồi và DB mất kết nối đã thống nhất. Làm theo sổ tay, ghi thời gian, trạng thái và bước còn mơ hồ."
    },
    {
      "step_id": "R066.02",
      "parent_id": "R066",
      "ai_jobs": [],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng. Bước giữ lại: Diễn tập khóa hết hạn và nguồn bị thu hồi.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Dùng cấu hình/gói thử, mô phỏng khóa không hợp lệ và nội dung bị rút. Kiểm đóng tính năng, log tối thiểu và đường chuyển đúng người phụ trách."
    },
    {
      "step_id": "R066.03",
      "parent_id": "R066",
      "ai_jobs": [
        "AI-TL06",
        "AI-TL15"
      ],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng. Bước giữ lại: Sửa sổ tay và kiểm lại đường xử lý.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Bổ sung lệnh, điểm dừng, người nhận lỗi và cách khởi động lại từ hai lượt diễn tập. Kiểm lại bước đã sửa; ghi lỗi chưa xử lý và phạm vi hỗ trợ."
    },
    {
      "step_id": "R067.01",
      "parent_id": "R067",
      "ai_jobs": [],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng. Bước giữ lại: Diễn tập yêu cầu dữ liệu đúng phạm vi.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Dùng hồ sơ tổng hợp để đi qua yêu cầu xem, sửa, xóa hoặc rút lui. Đối chiếu quyền, thời hạn, bản sao và người quyết; ghi trường hợp phải dừng."
    },
    {
      "step_id": "R068.01",
      "parent_id": "R068",
      "ai_jobs": [
        "AI-TL06"
      ],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng. Bước giữ lại: Review đường chuyển lỗi nội dung y khoa.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đọc tình huống R066 và sổ tay; phân biệt lỗi nội dung với lỗi kỹ thuật. Ghi khi nào cần tạm khóa, chuyển CVYK và xét lại phiên bản; không tạo tư vấn y khoa mới."
    },
    {
      "step_id": "A19.01",
      "parent_id": "A19",
      "ai_jobs": [
        "AI-TL07",
        "AI-TL14"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng. Bước giữ lại: Soạn hướng dẫn chữ theo UI thật.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Dùng UI và tài liệu hiện có để soạn bước cho người cao tuổi và người chăm sóc. Gồm nguồn, cờ đỏ, dừng, lỗi và hỗ trợ. Gắn ảnh đúng phiên bản; không bịa tính năng."
    },
    {
      "step_id": "R069.01",
      "parent_id": "R069",
      "ai_jobs": [
        "AI-TL14"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng. Bước giữ lại: Kiểm đường dùng của người cao tuổi.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Mở sản phẩm đúng phiên bản. Làm từng bước hướng dẫn; kiểm tên nút, ảnh, nguồn và dừng. Ghi chỗ không làm được."
    },
    {
      "step_id": "R069.02",
      "parent_id": "R069",
      "ai_jobs": [
        "AI-TL07",
        "AI-TL14"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng. Bước giữ lại: Kiểm đường dùng có người chăm sóc.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Kiểm vai hỗ trợ, giải thích đồng ý và quyền dừng của người dùng. So nội dung trên màn hình với hướng dẫn."
    },
    {
      "step_id": "R069.03",
      "parent_id": "R069",
      "ai_jobs": [
        "AI-TL07",
        "AI-TL14"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng. Bước giữ lại: Kiểm khả năng đọc và lỗi.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Kiểm chữ lớn, tương phản, bản in, liên kết và lỗi. Sửa hướng dẫn; gắn ảnh với phiên bản sản phẩm."
    },
    {
      "step_id": "R070.01",
      "parent_id": "R070",
      "ai_jobs": [
        "AI-TL07"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng. Bước giữ lại: Review giới hạn và câu an toàn trong hướng dẫn.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Kiểm câu khám bác sĩ, giới hạn AI, dừng và phản hồi sức khỏe. Người phụ trách nhận việc; dùng đúng phạm vi được quyết định. Thiếu đầu vào thì dừng nhánh và ghi phần chờ. Ghi review từng nội dung và phiên bản. Tách phần đủ, cần sửa và điều kiện xét lại; không tự gán APPROVED."
    },
    {
      "step_id": "R071.01",
      "parent_id": "R071",
      "ai_jobs": [
        "AI-TL13"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng. Bước giữ lại: Sửa và khóa hướng dẫn chữ.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đối chiếu phản hồi; kiểm liên kết; gắn phiên bản ứng dụng. Người phụ trách nhận việc; dùng đúng phạm vi được quyết định. Thiếu đầu vào thì dừng nhánh và ghi phần chờ."
    },
    {
      "step_id": "A20.01",
      "parent_id": "A20",
      "ai_jobs": [
        "AI-TL08",
        "AI-TL15"
      ],
      "human_retained": "OPS cài, nâng cấp, phục hồi và gỡ trong môi trường được giao; reviewer nhận xét thật. Bước giữ lại: Nháp hướng dẫn cài, nâng cấp và gỡ.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Ghép quy trình môi trường, IIS, SQL và gói ứng viên. Viết điều kiện trước bước, lệnh mẫu, phép kiểm sau bước, lỗi thường gặp và cách quay lui; không đưa bí mật thật."
    },
    {
      "step_id": "R072.01",
      "parent_id": "R072",
      "ai_jobs": [
        "AI-TL08",
        "AI-TL15"
      ],
      "human_retained": "OPS cài, nâng cấp, phục hồi và gỡ trong môi trường được giao; reviewer nhận xét thật. Bước giữ lại: Đối chiếu hướng dẫn với script và gói thực.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đọc A20, kiểm từng lệnh, đường dẫn và cấu hình với mã/đầu ra hiện có. Thay giá trị máy cá nhân bằng tham số; bỏ bí mật và ghi quyền cần có."
    },
    {
      "step_id": "R072.02",
      "parent_id": "R072",
      "ai_jobs": [
        "AI-TL08",
        "AI-TL15"
      ],
      "human_retained": "OPS cài, nâng cấp, phục hồi và gỡ trong môi trường được giao; reviewer nhận xét thật. Bước giữ lại: Review kiểm sau bước và xử lý lỗi.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Rà cài, nâng cấp, quay lui và gỡ; thêm cách kiểm phiên bản/dữ liệu, điều kiện dừng và người nhận lỗi. Chuẩn bị bản để OPS tự làm theo."
    },
    {
      "step_id": "R073.01",
      "parent_id": "R073",
      "ai_jobs": [],
      "human_retained": "OPS cài, nâng cấp, phục hồi và gỡ trong môi trường được giao; reviewer nhận xét thật. Bước giữ lại: Thực hiện cài mới theo tài liệu.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Dùng môi trường riêng được giao và gói đúng bản. Làm tuần tự theo hướng dẫn mà không nhờ giải thích ngoài; ghi mọi bước thiếu, kết quả và sai khác."
    },
    {
      "step_id": "R073.02",
      "parent_id": "R073",
      "ai_jobs": [],
      "human_retained": "OPS cài, nâng cấp, phục hồi và gỡ trong môi trường được giao; reviewer nhận xét thật. Bước giữ lại: Thực hiện nâng cấp và lỗi mẫu.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Theo hướng dẫn, nâng cấp bản thử; tạo lỗi mẫu được phép. Kiểm dữ liệu/phiên bản, dùng điểm dừng và cách quay lui; ghi bước không làm được."
    },
    {
      "step_id": "R073.03",
      "parent_id": "R073",
      "ai_jobs": [],
      "human_retained": "OPS cài, nâng cấp, phục hồi và gỡ trong môi trường được giao; reviewer nhận xét thật. Bước giữ lại: Thực hiện khôi phục/gỡ trong vùng thử.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Kiểm điều kiện giữ dữ liệu rồi làm theo phần khôi phục hoặc gỡ trên môi trường thử. Ghi tài khoản, tệp/cấu hình còn lại và nhận xét để sửa tài liệu."
    },
    {
      "step_id": "R074.01",
      "parent_id": "R074",
      "ai_jobs": [
        "AI-TL15"
      ],
      "human_retained": "OPS cài, nâng cấp, phục hồi và gỡ trong môi trường được giao; reviewer nhận xét thật. Bước giữ lại: Kiểm độc lập gói và bằng chứng cài.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đối chiếu mã băm, phiên bản host và log R073. Rà các điểm dừng, quyền và dữ liệu còn lại; ghi sai khác hoặc thiếu bằng chứng."
    },
    {
      "step_id": "R074.02",
      "parent_id": "R074",
      "ai_jobs": [
        "AI-TL15"
      ],
      "human_retained": "OPS cài, nâng cấp, phục hồi và gỡ trong môi trường được giao; reviewer nhận xét thật. Bước giữ lại: Kiểm sổ tay sự cố cùng luồng cài.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đọc A18/R066 và hướng dẫn đã sửa. Đối chiếu cách dừng, chuyển lỗi, phục hồi với thao tác thực; yêu cầu sửa chỗ nguy hiểm hoặc mơ hồ."
    },
    {
      "step_id": "R086.01",
      "parent_id": "R086",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: NCS viết câu hỏi và cách thử.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "NCS1 tự viết câu hỏi nghiên cứu, mục tiêu và tác vụ chữ. Đối chiếu hiện vật trước; giữ lịch sử bản thảo gốc."
    },
    {
      "step_id": "R086.02",
      "parent_id": "R086",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: NCS viết mẫu và trình tự.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "NCS1 nêu cách chọn người, tiêu chí, vai hỗ trợ và trình tự buổi. Ghi 10 lượt là kịch bản dự toán, chưa phải dữ liệu."
    },
    {
      "step_id": "R086.03",
      "parent_id": "R086",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: NCS viết cách xử lý kết quả.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "NCS1 mô tả phép đo, dữ liệu thiếu, rút, dừng và phân tích. Gắn điều kiện cần quyết định trước tuyển."
    },
    {
      "step_id": "R087.01",
      "parent_id": "R087",
      "ai_jobs": [
        "AI-TL10"
      ],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Đối chiếu hồ sơ camera và dữ liệu.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Tách phạm vi chữ/camera; ghi đồng ý, rút lui và người hỗ trợ. Người phụ trách nhận việc; dùng đúng phạm vi được quyết định. Thiếu đầu vào thì dừng nhánh và ghi phần chờ."
    },
    {
      "step_id": "R088.01",
      "parent_id": "R088",
      "ai_jobs": [
        "AI-TL10"
      ],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Xác định vòng đời dữ liệu chữ.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Lập trường cần thu, mục đích, ID, người truy cập và thời hạn. Tách khóa định danh khỏi dữ liệu phân tích."
    },
    {
      "step_id": "R088.02",
      "parent_id": "R088",
      "ai_jobs": [
        "AI-TL10"
      ],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Kiểm rút dữ liệu và bằng chứng.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Mô tả tiếp nhận rút, dữ liệu thiếu và xóa theo quyết định. Thử bằng dữ liệu giả; ghi vai chịu trách nhiệm."
    },
    {
      "step_id": "R089.01",
      "parent_id": "R089",
      "ai_jobs": [
        "AI-TL10"
      ],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Review đồng ý và phạm vi xử lý.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Kiểm mẫu đồng ý; chủ thể; quyền và hồ sơ xét nghiên cứu. Người phụ trách nhận việc; dùng đúng phạm vi được quyết định. Thiếu đầu vào thì dừng nhánh và ghi phần chờ."
    },
    {
      "step_id": "R090.01",
      "parent_id": "R090",
      "ai_jobs": [
        "AI-TL10"
      ],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Review hoạt động chữ dự kiến với người.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Kiểm rủi ro, câu hỏi, điểm dừng và chuyển khám. Người phụ trách nhận việc; dùng đúng phạm vi được quyết định. Thiếu đầu vào thì dừng nhánh và ghi phần chờ. Ghi review từng nội dung và phiên bản. Tách phần đủ, cần sửa và điều kiện xét lại; không tự gán APPROVED."
    },
    {
      "step_id": "R091.01",
      "parent_id": "R091",
      "ai_jobs": [
        "AI-TL09",
        "AI-TL14"
      ],
      "human_retained": "Con người thực hành, đào tạo và tự làm lại; xác nhận giờ/kênh hỗ trợ. Bước giữ lại: Chuẩn bị bài thực hành theo vai.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Soạn tác vụ NCT và người chăm sóc từ UI thật. Nêu dừng, rút và báo lỗi. Tách quyền quản trị."
    },
    {
      "step_id": "R091.02",
      "parent_id": "R091",
      "ai_jobs": [
        "AI-TL09"
      ],
      "human_retained": "Con người thực hành, đào tạo và tự làm lại; xác nhận giờ/kênh hỗ trợ. Bước giữ lại: Chuẩn bị kiểm làm lại và hỗ trợ.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Ghi tiêu chí tự làm lại, kênh và giờ hỗ trợ cần xác nhận. Nêu cách chuyển lỗi kỹ thuật hoặc câu hỏi y khoa."
    },
    {
      "step_id": "R092.01",
      "parent_id": "R092",
      "ai_jobs": [],
      "human_retained": "Con người thực hành, đào tạo và tự làm lại; xác nhận giờ/kênh hỗ trợ. Bước giữ lại: Tập quy trình hỗ trợ nội bộ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Đọc kịch bản; thử dữ liệu giả; chuyển lỗi kỹ thuật/y khoa. Người phụ trách nhận việc; dùng đúng phạm vi được quyết định. Thiếu đầu vào thì dừng nhánh và ghi phần chờ. Dùng dữ liệu giả để kiểm người nhận tự làm lại. Ghi lỗi thao tác và sửa hướng dẫn trước buổi được phép."
    },
    {
      "step_id": "R093.01",
      "parent_id": "R093",
      "ai_jobs": [],
      "human_retained": "Con người thực hành, đào tạo và tự làm lại; xác nhận giờ/kênh hỗ trợ. Bước giữ lại: OPS tự thực hành vận hành.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "OPS dùng hướng dẫn kiểm trạng thái, đọc log và dừng dịch vụ trong môi trường được phép. Ghi thiếu sót; không nhờ người viết làm hộ."
    },
    {
      "step_id": "R093.02",
      "parent_id": "R093",
      "ai_jobs": [
        "AI-TL15"
      ],
      "human_retained": "Con người thực hành, đào tạo và tự làm lại; xác nhận giờ/kênh hỗ trợ. Bước giữ lại: OPS tự thực hành phục hồi.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Dùng dữ liệu giả để thử phục hồi và lỗi theo hướng dẫn. Ghi thời gian, kết quả và yêu cầu sửa tài liệu."
    },
    {
      "step_id": "GC.01",
      "parent_id": "GC",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Xem hồ sơ thử chữ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Người có thẩm quyền đọc phương pháp, đồng ý, an toàn, dữ liệu và nhân sự. Kiểm phiên bản, đối tượng và điều kiện dừng."
    },
    {
      "step_id": "GC.02",
      "parent_id": "GC",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Ghi quyết định GC thực.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Ghi phạm vi, thời hạn, điều kiện và người ký quyết định thực. Nêu điều kiện mở lại xét duyệt; chỉ bàn giao khi có bằng chứng."
    },
    {
      "step_id": "R094.01",
      "parent_id": "R094",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Liên hệ theo tiêu chí được phép.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Sau GC hợp lệ, dùng tiêu chí và cách liên hệ được phép. Ghi tối thiểu số liên hệ, đủ điều kiện, từ chối hoặc chờ."
    },
    {
      "step_id": "R094.02",
      "parent_id": "R094",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Giải thích đồng ý và xác nhận lịch.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Giải thích tác vụ, nghỉ, dừng, rút và dữ liệu. Kiểm hiểu biết theo hồ sơ; xác nhận lịch chỉ khi đủ điều kiện."
    },
    {
      "step_id": "R095.01",
      "parent_id": "R095",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Điều phối lịch thử chữ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Xác nhận thời gian, phương tiện, hỗ trợ; giải thích kênh hỏi. Người phụ trách nhận việc; dùng đúng phạm vi được quyết định. Thiếu đầu vào thì dừng nhánh và ghi phần chờ."
    },
    {
      "step_id": "PILOT-CORE.01",
      "parent_id": "PILOT-CORE",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Phiên dự toán 1/10: thử tác vụ chữ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Lượt này là dự toán, không phải người hoặc lượt đã thực hiện. Chỉ tiến hành khi đủ quyền, đồng ý và điều kiện an toàn. Thực hiện đúng phương pháp, có nghỉ và dừng. Ghi diễn biến thật, dữ liệu thiếu, rút và sự cố. Không bịa danh tính hoặc bù lượt bằng dữ liệu giả."
    },
    {
      "step_id": "PILOT-CORE.02",
      "parent_id": "PILOT-CORE",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Phiên dự toán 2/10: thử tác vụ chữ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Lượt này là dự toán, không phải người hoặc lượt đã thực hiện. Chỉ tiến hành khi đủ quyền, đồng ý và điều kiện an toàn. Thực hiện đúng phương pháp, có nghỉ và dừng. Ghi diễn biến thật, dữ liệu thiếu, rút và sự cố. Không bịa danh tính hoặc bù lượt bằng dữ liệu giả."
    },
    {
      "step_id": "PILOT-CORE.03",
      "parent_id": "PILOT-CORE",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Phiên dự toán 3/10: thử tác vụ chữ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Lượt này là dự toán, không phải người hoặc lượt đã thực hiện. Chỉ tiến hành khi đủ quyền, đồng ý và điều kiện an toàn. Thực hiện đúng phương pháp, có nghỉ và dừng. Ghi diễn biến thật, dữ liệu thiếu, rút và sự cố. Không bịa danh tính hoặc bù lượt bằng dữ liệu giả."
    },
    {
      "step_id": "PILOT-CORE.04",
      "parent_id": "PILOT-CORE",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Phiên dự toán 4/10: thử tác vụ chữ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Lượt này là dự toán, không phải người hoặc lượt đã thực hiện. Chỉ tiến hành khi đủ quyền, đồng ý và điều kiện an toàn. Thực hiện đúng phương pháp, có nghỉ và dừng. Ghi diễn biến thật, dữ liệu thiếu, rút và sự cố. Không bịa danh tính hoặc bù lượt bằng dữ liệu giả."
    },
    {
      "step_id": "PILOT-CORE.05",
      "parent_id": "PILOT-CORE",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Phiên dự toán 5/10: thử tác vụ chữ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Lượt này là dự toán, không phải người hoặc lượt đã thực hiện. Chỉ tiến hành khi đủ quyền, đồng ý và điều kiện an toàn. Thực hiện đúng phương pháp, có nghỉ và dừng. Ghi diễn biến thật, dữ liệu thiếu, rút và sự cố. Không bịa danh tính hoặc bù lượt bằng dữ liệu giả."
    },
    {
      "step_id": "PILOT-CORE.06",
      "parent_id": "PILOT-CORE",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Phiên dự toán 6/10: thử tác vụ chữ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Lượt này là dự toán, không phải người hoặc lượt đã thực hiện. Chỉ tiến hành khi đủ quyền, đồng ý và điều kiện an toàn. Thực hiện đúng phương pháp, có nghỉ và dừng. Ghi diễn biến thật, dữ liệu thiếu, rút và sự cố. Không bịa danh tính hoặc bù lượt bằng dữ liệu giả."
    },
    {
      "step_id": "PILOT-CORE.07",
      "parent_id": "PILOT-CORE",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Phiên dự toán 7/10: thử tác vụ chữ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Lượt này là dự toán, không phải người hoặc lượt đã thực hiện. Chỉ tiến hành khi đủ quyền, đồng ý và điều kiện an toàn. Thực hiện đúng phương pháp, có nghỉ và dừng. Ghi diễn biến thật, dữ liệu thiếu, rút và sự cố. Không bịa danh tính hoặc bù lượt bằng dữ liệu giả."
    },
    {
      "step_id": "PILOT-CORE.08",
      "parent_id": "PILOT-CORE",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Phiên dự toán 8/10: thử tác vụ chữ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Lượt này là dự toán, không phải người hoặc lượt đã thực hiện. Chỉ tiến hành khi đủ quyền, đồng ý và điều kiện an toàn. Thực hiện đúng phương pháp, có nghỉ và dừng. Ghi diễn biến thật, dữ liệu thiếu, rút và sự cố. Không bịa danh tính hoặc bù lượt bằng dữ liệu giả."
    },
    {
      "step_id": "PILOT-CORE.09",
      "parent_id": "PILOT-CORE",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Phiên dự toán 9/10: thử tác vụ chữ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Lượt này là dự toán, không phải người hoặc lượt đã thực hiện. Chỉ tiến hành khi đủ quyền, đồng ý và điều kiện an toàn. Thực hiện đúng phương pháp, có nghỉ và dừng. Ghi diễn biến thật, dữ liệu thiếu, rút và sự cố. Không bịa danh tính hoặc bù lượt bằng dữ liệu giả."
    },
    {
      "step_id": "PILOT-CORE.10",
      "parent_id": "PILOT-CORE",
      "ai_jobs": [],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Phiên dự toán 10/10: thử tác vụ chữ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Lượt này là dự toán, không phải người hoặc lượt đã thực hiện. Chỉ tiến hành khi đủ quyền, đồng ý và điều kiện an toàn. Thực hiện đúng phương pháp, có nghỉ và dừng. Ghi diễn biến thật, dữ liệu thiếu, rút và sự cố. Không bịa danh tính hoặc bù lượt bằng dữ liệu giả."
    },
    {
      "step_id": "R096.01",
      "parent_id": "R096",
      "ai_jobs": [
        "AI-TL16"
      ],
      "human_retained": "NCS tự tổng hợp nhu cầu từ quan sát thật; CVYK review câu sức khỏe; con người chốt công cụ. Bước giữ lại: Đọc dữ liệu nhu cầu hợp lệ.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Kiểm đồng ý, dữ liệu thiếu và rút lui. Đọc phản hồi theo vai NCT/người chăm sóc."
    },
    {
      "step_id": "R096.02",
      "parent_id": "R096",
      "ai_jobs": [
        "AI-TL16"
      ],
      "human_retained": "NCS tự tổng hợp nhu cầu từ quan sát thật; CVYK review câu sức khỏe; con người chốt công cụ. Bước giữ lại: Đối chiếu giả thuyết ban đầu.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "So luồng tác vụ đề xuất với hành vi đã ghi. Tách điều quan sát được khỏi suy luận của NCS."
    },
    {
      "step_id": "R096.03",
      "parent_id": "R096",
      "ai_jobs": [
        "AI-TL16"
      ],
      "human_retained": "NCS tự tổng hợp nhu cầu từ quan sát thật; CVYK review câu sức khỏe; con người chốt công cụ. Bước giữ lại: Đề xuất sửa yêu cầu và hướng dẫn.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Liệt kê khó khăn theo tác vụ; đánh dấu ảnh hưởng UI, hỗ trợ và phạm vi. Gửi đầu vào cho R097/R099."
    },
    {
      "step_id": "R097.01",
      "parent_id": "R097",
      "ai_jobs": [
        "AI-TL13"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng. Bước giữ lại: Sửa hướng dẫn theo khó khăn đã quan sát.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Sửa câu và hình; kiểm lại tác vụ có lỗi. Người phụ trách nhận việc; dùng đúng phạm vi được quyết định. Thiếu đầu vào thì dừng nhánh và ghi phần chờ."
    },
    {
      "step_id": "R098.01",
      "parent_id": "R098",
      "ai_jobs": [
        "AI-TL16"
      ],
      "human_retained": "NCS tự viết phương pháp; thẩm quyền xét GC; người có quyền tuyển, giải thích đồng ý, thu và khóa dữ liệu. Bước giữ lại: Khóa tập dữ liệu chữ đúng quyền.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đối chiếu đồng ý, ID, dữ liệu thiếu/rút; lưu bản kê. Người phụ trách nhận việc; dùng đúng phạm vi được quyết định. Thiếu đầu vào thì dừng nhánh và ghi phần chờ."
    },
    {
      "step_id": "R099.01",
      "parent_id": "R099",
      "ai_jobs": [
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS kiểm dữ liệu trước phân tích.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đối chiếu bản kê, ID, đồng ý, dữ liệu thiếu và phiên bản đã thử. Ghi quy tắc loại hoặc giữ theo phương pháp."
    },
    {
      "step_id": "R099.02",
      "parent_id": "R099",
      "ai_jobs": [
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS thực hiện phép tính đã khóa.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Chạy công cụ tính; kiểm lại mẫu số, lỗi, trợ giúp và các lượt chưa hoàn thành. Giữ lệnh tính."
    },
    {
      "step_id": "R099.03",
      "parent_id": "R099",
      "ai_jobs": [
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS lập bảng kết quả và sai khác.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Tách kết quả theo tác vụ hoặc nhóm đã định. Ghi sai số, dữ liệu thiếu và phản hồi không thuận lợi."
    },
    {
      "step_id": "R099.04",
      "parent_id": "R099",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS tự viết phân tích và giới hạn.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Giải thích kết quả trong phạm vi đã nghiên cứu. Nêu hạn chế mẫu nhỏ và khác biệt giữa khả dụng với hiệu quả sức khỏe."
    },
    {
      "step_id": "R099.05",
      "parent_id": "R099",
      "ai_jobs": [
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS kiểm bản đầu trước gửi GVHD.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đối chiếu mọi số với dữ liệu; kiểm nguồn, hình và hồ sơ AI. Giữ bản đầu và bản sửa riêng."
    },
    {
      "step_id": "R100.01",
      "parent_id": "R100",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Review phương pháp và dữ liệu chữ.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "So báo cáo với phương pháp khóa, dữ liệu thiếu và phép tính. Ghi nhận xét gắn từng bảng hoặc kết luận."
    },
    {
      "step_id": "R100.02",
      "parent_id": "R100",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Review giới hạn và nguồn gốc bản đầu.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đọc hồ sơ AI, nguồn và các giới hạn. Trả phản hồi; không viết lại kết luận thay NCS."
    },
    {
      "step_id": "R103.01",
      "parent_id": "R103",
      "ai_jobs": [
        "AI-TL12",
        "AI-TL18"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Kiểm gói chữ được bàn giao.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "So hash, phiên bản, cấu hình và danh mục tài liệu. Kiểm đường dẫn gói và nơi giữ thông tin truy cập."
    },
    {
      "step_id": "R103.02",
      "parent_id": "R103",
      "ai_jobs": [
        "AI-TL12",
        "AI-TL18"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Xác nhận khả năng vận hành chữ.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đối chiếu biên bản cài/phục hồi, đầu mối hỗ trợ và quyền. Ghi phần nhận hoặc yêu cầu bổ sung."
    },
    {
      "step_id": "GD-CORE.01",
      "parent_id": "GD-CORE",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Phiên nghiệm thu sản phẩm chữ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Tổng hợp quyết định chuyên môn, quyền và người nhận; ghi phạm vi phát hành."
    },
    {
      "step_id": "C21.01",
      "parent_id": "C21",
      "ai_jobs": [
        "AI-TL14"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng. Bước giữ lại: Viết hướng dẫn từ UI camera thật.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "NCS2 chụp hoặc mô tả UI đúng phiên bản. Viết chuẩn bị, vị trí và bắt đầu chỉ theo protocol đã xét."
    },
    {
      "step_id": "C21.02",
      "parent_id": "C21",
      "ai_jobs": [
        "AI-TL07",
        "AI-TL14"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng. Bước giữ lại: Viết dừng và không đo được.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Mô tả mất quyền, hình ảnh không đủ, nghỉ, dừng và hỗ trợ. Ghi quyền người dùng, giới hạn và cảnh báo bắt buộc."
    },
    {
      "step_id": "C22.01",
      "parent_id": "C22",
      "ai_jobs": [
        "AI-TL14"
      ],
      "human_retained": "NCS kiểm sản phẩm thực; CVYK xét câu an toàn; người có thẩm quyền khóa bản dùng. Bước giữ lại: Review hướng dẫn camera cuối.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Kiểm câu an toàn, đối tượng, dừng và giải thích chỉ số. Người phụ trách nhận việc; dùng đúng phạm vi được quyết định. Thiếu đầu vào thì dừng nhánh và ghi phần chờ. Ghi review từng nội dung và phiên bản. Tách phần đủ, cần sửa và điều kiện xét lại; không tự gán APPROVED."
    },
    {
      "step_id": "C23.01",
      "parent_id": "C23",
      "ai_jobs": [],
      "human_retained": "Con người thực hành, đào tạo và tự làm lại; xác nhận giờ/kênh hỗ trợ. Bước giữ lại: Tập hỗ trợ nhánh camera trên dữ liệu giả.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Thử tình huống quyền/không đo/dừng; thực hành chuyển lỗi. Người phụ trách nhận việc; dùng đúng phạm vi được quyết định. Thiếu đầu vào thì dừng nhánh và ghi phần chờ. Dùng dữ liệu giả để kiểm người nhận tự làm lại. Ghi lỗi thao tác và sửa hướng dẫn trước buổi được phép."
    },
    {
      "step_id": "R104.01",
      "parent_id": "R104",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Đối chiếu quyền và gói trước cài chữ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Mở GD-CORE và bản kê gói. Kiểm môi trường đích, hash, tài khoản và bản quay lại."
    },
    {
      "step_id": "R104.02",
      "parent_id": "R104",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Cài bản chữ theo hướng dẫn đã kiểm.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Thực hiện đúng lệnh và cấu hình của gói. Ghi kết quả từng điểm kiểm, không nới quyền để vượt lỗi."
    },
    {
      "step_id": "R104.03",
      "parent_id": "R104",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Kiểm nhanh và bàn giao kiểm nhận.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Kiểm tiến trình, trạng thái sẵn sàng, log và khả năng quay lui. Gửi biên bản cho NCS1."
    },
    {
      "step_id": "R105.01",
      "parent_id": "R105",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Kiểm tác vụ chữ trên máy đích.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Dùng dữ liệu được phép thử hỏi, nhận phản hồi và xem nguồn. So kết quả với bản nghiệm thu."
    },
    {
      "step_id": "R105.02",
      "parent_id": "R105",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Kiểm đường lỗi và kênh hỗ trợ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Thử dữ liệu lỗi, thiếu nguồn và mất kết nối trong phạm vi. Đối chiếu hướng dẫn và người hỗ trợ."
    },
    {
      "step_id": "R106.01",
      "parent_id": "R106",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS1 tập hợp hồ sơ gốc.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đối chiếu bản đầu, phạm vi, công cụ nghiên cứu và dữ liệu hợp lệ. Lập danh mục phần cần cập nhật cho bản cuối."
    },
    {
      "step_id": "R106.02",
      "parent_id": "R106",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS1 viết phần thiết kế và triển khai.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Tự mô tả quyết định kỹ thuật, đầu vào tri thức và phối hợp hai NCS. Dẫn hiện vật đúng phiên bản."
    },
    {
      "step_id": "R106.03",
      "parent_id": "R106",
      "ai_jobs": [
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS1 hoàn thiện phương pháp và kết quả.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Tự đối chiếu dữ liệu với phương pháp khóa; kiểm bảng, hình và mẫu số. Giữ cả kết quả chưa đạt."
    },
    {
      "step_id": "R106.04",
      "parent_id": "R106",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS1 viết giới hạn và đóng góp.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Tự phân tích giới hạn của hệ thống, mẫu và quy trình. Tách đóng góp NCS1, NCS2, người review và AI."
    },
    {
      "step_id": "R106.05",
      "parent_id": "R106",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS1 kiểm tài liệu kèm và hồ sơ AI.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Rà trích dẫn, quyền hình, phụ lục và nhật ký. Nối mã, gói phát hành, hướng dẫn và bằng chứng kiểm."
    },
    {
      "step_id": "R106.06",
      "parent_id": "R106",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS1 đóng bản gửi review.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "So định dạng nộp, số trang và liên kết. Lưu bản đầu, lịch sử sửa và câu hỏi gửi GVHD."
    },
    {
      "step_id": "R107.01",
      "parent_id": "R107",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS2 tự viết căn cứ và phạm vi camera.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đối chiếu CYK, nguồn, quyết định chọn chỉ số và giới hạn. Tự ghi phần đã kiểm và phần chưa đủ căn cứ."
    },
    {
      "step_id": "R107.02",
      "parent_id": "R107",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS2 tự trình bày phương pháp và triển khai.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Mô tả protocol, chuẩn đối chiếu, thiết bị, người kiểm đo và xử lý tại thiết bị. Dẫn phiên bản thật."
    },
    {
      "step_id": "R107.03",
      "parent_id": "R107",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS2 tự viết kết quả và giới hạn.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Đối chiếu sai số, không đo được, rút lui và riêng tư. Tự diễn giải trong phạm vi dữ liệu."
    },
    {
      "step_id": "R107.04",
      "parent_id": "R107",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS2 kiểm nhật ký và gói minh chứng.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đối chiếu mã, hình/bảng, nguồn, quyền và bản đầu. Ghi đóng góp cùng phần hỗ trợ AI, chuyển GVHD."
    },
    {
      "step_id": "R108.01",
      "parent_id": "R108",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Review phương pháp và tính nhất quán.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đọc hai phần báo cáo và đối chiếu dữ liệu/phương pháp. Ghi khác biệt giữa bản chữ và camera."
    },
    {
      "step_id": "R108.02",
      "parent_id": "R108",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Review nguồn gốc và giới hạn.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Kiểm bản đầu, nhật ký, hồ sơ AI và quyền công bố. Đối chiếu kết luận với phạm vi bằng chứng."
    },
    {
      "step_id": "R108.03",
      "parent_id": "R108",
      "ai_jobs": [
        "AI-TL11"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Giao phản hồi để NCS tự sửa.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đọc giải trình NCS đã gửi; ghi câu hỏi cần chuẩn bị cho bảo vệ. Chốt danh mục sửa theo hạn nộp."
    },
    {
      "step_id": "R109.01",
      "parent_id": "R109",
      "ai_jobs": [
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS1 sửa bản đầu theo nhận xét.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Tự xử lý từng phản hồi, kiểm lại số liệu và lưu lý do giữ hoặc sửa. Giữ dấu vết phiên bản."
    },
    {
      "step_id": "R109.02",
      "parent_id": "R109",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS1 tự diễn tập trình bày.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Tập giải thích thiết kế, kết quả, nguồn và giới hạn. Kiểm bản nộp đúng quy định, ghi câu chưa trả lời được."
    },
    {
      "step_id": "R110.01",
      "parent_id": "R110",
      "ai_jobs": [
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS2 tự sửa phần camera.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đối chiếu phản hồi với nguồn và dữ liệu. Sửa phần diễn giải, hình/bảng và gói minh chứng."
    },
    {
      "step_id": "R110.02",
      "parent_id": "R110",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS2 tự diễn tập phần camera.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Tập giải thích protocol, chuẩn đo, sai số và giới hạn. Đối chiếu câu trả lời với phiên bản đã review."
    },
    {
      "step_id": "R111.01",
      "parent_id": "R111",
      "ai_jobs": [
        "AI-TL12",
        "AI-TL18"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Lập danh mục tài nguyên cần bàn giao.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Rà mã, nguồn, dữ liệu, hình và tài liệu. Gắn đối tượng đọc và bằng chứng quyền cho từng loại."
    },
    {
      "step_id": "R111.02",
      "parent_id": "R111",
      "ai_jobs": [
        "AI-TL12",
        "AI-TL18"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Ghi phần được chia sẻ và phần phải loại.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Kiểm các mục thiếu quyền; đề nghị bỏ, thay bằng dẫn nguồn hoặc chờ xét. Trả bảng quyết định đúng phiên bản."
    },
    {
      "step_id": "R112.01",
      "parent_id": "R112",
      "ai_jobs": [
        "AI-TL12",
        "AI-TL18"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Nhận bản kê kết hợp và cấu hình.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đối chiếu C28, GCB-R và hồ sơ quyền. Kiểm hash, phiên bản, nơi giữ và tài liệu."
    },
    {
      "step_id": "R112.02",
      "parent_id": "R112",
      "ai_jobs": [
        "AI-TL18"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Kiểm khả năng cài và phục hồi gói nhận.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đọc biên bản thử và thao tác theo hướng dẫn được giao. Ghi phần chưa làm lại được để trả người soạn."
    },
    {
      "step_id": "R112.03",
      "parent_id": "R112",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Nhận trách nhiệm và thông tin truy cập.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Xác nhận người quản, người hỗ trợ, giờ liên hệ và cách chuyển lỗi. Nhận khóa qua kênh được phép."
    },
    {
      "step_id": "GD.01",
      "parent_id": "GD",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Phiên nghiệm thu gói kết hợp.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Tổng hợp cổng chữ/camera, hồ sơ AI, quyền, người nhận và lỗi."
    },
    {
      "step_id": "R113.01",
      "parent_id": "R113",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Kiểm điều kiện trước cài bản kết hợp.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Đối chiếu GD, hash gói, môi trường và bản quay lại. Kiểm quyền bật camera đúng thiết bị/phạm vi."
    },
    {
      "step_id": "R113.02",
      "parent_id": "R113",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Cài gói kết hợp đã được xét.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Thực hiện theo hướng dẫn và cấu hình đã nhận. Ghi log từng điểm kiểm và phiên bản thực."
    },
    {
      "step_id": "R113.03",
      "parent_id": "R113",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Kiểm nhanh sau cài và chuyển kiểm nhận.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Kiểm dịch vụ, nhật ký và cơ chế quay lui. Gửi phiên bản gói, lỗi và môi trường cho hai NCS."
    },
    {
      "step_id": "R114.01",
      "parent_id": "R114",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Kiểm nhận phần chữ và camera tắt.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Thử luồng chữ, nguồn và đường lỗi bằng dữ liệu được phép. Xác nhận chữ vẫn hoạt động khi camera bị tắt."
    },
    {
      "step_id": "R114.02",
      "parent_id": "R114",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Kiểm luồng kết hợp được phép.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Thử bật camera đúng quyền, nhận chỉ số và dừng. So hướng dẫn sử dụng, cấu hình và kênh hỗ trợ."
    },
    {
      "step_id": "R115.01",
      "parent_id": "R115",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Kiểm thiết bị và quyền camera trên máy đích.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Đối chiếu ma trận thiết bị, trình duyệt và quyền. Kiểm mở, từ chối, đóng và giải phóng thiết bị."
    },
    {
      "step_id": "R115.02",
      "parent_id": "R115",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Kiểm giới hạn và trạng thái không đo được.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Thử các tình huống được phép, trạng thái lỗi và cảnh báo. Đối chiếu hướng dẫn và dữ liệu truyền/lưu."
    },
    {
      "step_id": "R116.01",
      "parent_id": "R116",
      "ai_jobs": [
        "AI-TL17"
      ],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng. Bước giữ lại: Kiểm vận hành sau tuần đầu bản kết hợp.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đối chiếu bản đang chạy với R115. Rà log tối thiểu, sao lưu, tài nguyên và lỗi phản hồi trong phạm vi được phép; ghi sự cố, người nhận và cách xử lý theo sổ tay."
    },
    {
      "step_id": "R117.01",
      "parent_id": "R117",
      "ai_jobs": [
        "AI-TL17"
      ],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng. Bước giữ lại: Tổng hợp hỗ trợ tuần đầu và chuyển việc.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đọc phiếu hỗ trợ đúng quyền, nhóm lỗi/tác vụ khó và đối chiếu đầu mối. Lập số lượng, trạng thái và người nhận xử lý; chỉ dùng thông tin tối thiểu cần thiết."
    },
    {
      "step_id": "R120.01",
      "parent_id": "R120",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Chốt trách nhiệm sau bàn giao.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Xác nhận người vận hành, hỗ trợ, review tri thức và xử lý ngừng."
    },
    {
      "step_id": "CORE-DOC.01",
      "parent_id": "CORE-DOC",
      "ai_jobs": [
        "AI-TL11"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS lập gói hồ sơ chữ độc lập.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Tập hợp bản đầu, dữ liệu, phương pháp và hiện vật chữ. Ghi rõ camera chưa là điều kiện nghiệm thu gói này."
    },
    {
      "step_id": "CORE-DOC.02",
      "parent_id": "CORE-DOC",
      "ai_jobs": [],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS tự hoàn thiện báo cáo chữ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Tự viết phần còn thiếu về kết quả, giới hạn và đóng góp. Đối chiếu số liệu với R099/R100."
    },
    {
      "step_id": "CORE-DOC.03",
      "parent_id": "CORE-DOC",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL12"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: NCS kiểm hướng dẫn và gói bàn giao chữ.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Rà quyền, phiên bản, mã, cài đặt, sử dụng và hỗ trợ. Chuẩn bị hồ sơ gửi CORE-REV."
    },
    {
      "step_id": "CORE-REV.01",
      "parent_id": "CORE-REV",
      "ai_jobs": [
        "AI-TL11",
        "AI-TL16"
      ],
      "human_retained": "NCS tự phân tích, viết và diễn giải; người có thẩm quyền nhận gói, cài, kiểm nhận và nghiệm thu. Bước giữ lại: Review hồ sơ chữ độc lập.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Xem bản đầu, dữ liệu, quyền và giới hạn; yêu cầu NCS sửa nếu cần."
    },
    {
      "step_id": "CORE-W1.01",
      "parent_id": "CORE-W1",
      "ai_jobs": [
        "AI-TL17"
      ],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng. Bước giữ lại: Kiểm tuần đầu riêng cho sản phẩm chữ.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Theo bản giao R105, kiểm lỗi, log tối thiểu, sao lưu và đầu mối hỗ trợ. Ghi trạng thái app/API/DB của nhánh chữ và việc cần xử lý, dù camera chưa đạt."
    },
    {
      "step_id": "CORE-M1.01",
      "parent_id": "CORE-M1",
      "ai_jobs": [
        "AI-TL17"
      ],
      "human_retained": "OPS/DATA thực hiện diễn tập và xử lý yêu cầu thật; CVYK xét nội dung; không có người trực được suy từ bảng. Bước giữ lại: Rà tháng đầu riêng cho sản phẩm chữ.",
      "reason": "AI đã chuẩn bị phần tài liệu/đối soát; chỉ các job READY có hiện vật. Job CONDITIONAL cần đầu vào thật.",
      "original_instruction": "Đối chiếu CORE-W1, kiểm nguồn/quyền, bản sao, phụ thuộc và hỗ trợ. Rà app/API/DB, tài khoản/khóa, nhà cung cấp; ghi lịch duy trì và điều kiện ngừng nhánh chữ."
    },
    {
      "step_id": "G0.01",
      "parent_id": "G0",
      "ai_jobs": [],
      "human_retained": "NCS tự xác định phạm vi và giữ bản đầu; GVHD/người phù hợp xác nhận lịch, vai và quyết định. Bước giữ lại: Phiên xét G0 đầy đủ.",
      "reason": "Bước yêu cầu tự viết học thuật, thao tác trên người/máy thật, nhận trách nhiệm hoặc quyết định thật; không có thực thi AI thay thế.",
      "original_instruction": "Kiểm D01–D04/D09, điều khoản, giờ, schema và hồ sơ T01–T06."
    }
  ],
  "plan_sha256": "da7c12757e7222bddb6d97641627fadfb0c50aaf20b30dd37f4d216b34ad61a7",
  "scope": {
    "parents": 274,
    "steps": 586
  }
}
