Phát hiện và rủi ro — F01 đến F24
Ngày 26/09/2026 · Kiểm toán nội bộ · Không phải phê duyệt triển khai.
Mục lục · Nguồn · Truy vết
1. Cách đọc
- P0: phải giải quyết trước thao tác có người tham gia, dữ liệu thật hoặc công bố liên quan.
- P1: phải giải quyết trước chốt thiết kế, nghiệm thu hoặc nhận định nghiên cứu tương ứng.
- P2: cải thiện quản trị, không tự gây ra kết luận hệ thống nguy hiểm.
- Các mục đều OPEN trong bộ tư vấn. Biện pháp ghi dưới đây chưa được triển khai.
- Tĩnh nghĩa là đã đối chiếu file; không phải chức năng đã được chạy.
- Không tự sửa nội dung y khoa để đóng phát hiện. CVYK phải phân xử nội dung chuyên môn.
2. Mười điểm chặn P0
F01 — Điều kiện nhà cung cấp chưa phù hợp mặc định
- Bằng chứng: kiến trúc, §1 và ADR nạp ngữ cảnh; roadmap, task 4.4 và đầu vào S4. S03 quy định tuổi, mục đích sử dụng và dữ liệu.
- Đối chiếu: kế hoạch để NCS1 đăng ký API nhưng chưa có hồ sơ điều kiện sử dụng. Không suy tuổi cụ thể chỉ từ lớp học.
- Tác động: thiết kế có thể không dùng được qua dịch vụ được chọn, dù kỹ thuật chạy thành công.
- Xử lý: GVHD và người có thẩm quyền xác minh tuổi, chủ thể sử dụng, điều khoản và ranh giới chức năng. Không nhờ người khác đứng tên để lách.
- Trong lúc chưa rõ điều kiện tuổi/chủ thể/mục đích, không gọi dịch vụ, kể cả bằng dữ liệu giả; chỉ mô phỏng không gọi model.
- DoD: quyết định có dẫn điều khoản hiệu lực, phạm vi được phép, xử lý dữ liệu và phương án không dùng dịch vụ nếu không phù hợp.
- Kiểm tra: đối chiếu bản hợp đồng và chức năng thực; thanh toán phí không tự xóa hạn chế. Giao T02/D09/G0.
F02 — PL8 chưa đủ căn cứ để tự tuyên bố tuân thủ
- Bằng chứng: PL8, STT 4, 9, 10, 12, 13 và mục III; chiến lược, §2–5.
- Đối chiếu: bảng PL8 không giới hạn cấm bản đầu vào báo cáo cuối. Nó còn đề cập kế hoạch, tóm tắt và poster.
- Tác động: dùng đầu ra AI thay công việc NCS có thể làm mất tính hợp lệ của hồ sơ.
- Xử lý: xác minh văn bản chính thức; kiểm tra nguồn gốc bản đầu, lịch sử và nhật ký. Không hợp thức hóa bằng nhãn “nội bộ”.
- DoD: mỗi hoạt động có quy định áp dụng và dấu vết phần NCS tự làm. Không dùng checklist dự kiến làm chứng nhận.
- Kiểm tra: GVHD kiểm bản gốc và NCS giải trình; không viết hộ bản đầu mới. T01, T20/D03, D04, D17/G0, GD.
F03 — Trình tự cho phép nghiên cứu và thử nghiệm bị đảo
- Bằng chứng: roadmap, 6.4 thử 3–5 người trước 6.5; 7.1 mới soạn consent; W16; phiếu DRAFT.
- Đối chiếu: khảo sát, thử giao diện và thử camera với người quen không tự động được miễn xem xét.
- Tác động: thu dữ liệu hoặc tạo rủi ro trước khi xác định người chịu trách nhiệm và sự đồng ý phù hợp.
- Xử lý: lập hồ sơ và xin quyết định phù hợp trước tuyển, khảo sát hoặc thử. Phân biệt mock không thu dữ liệu với nghiên cứu người tham gia.
- DoD: có phạm vi, phiên bản công cụ, đánh giá rủi ro, người phụ trách và quyết định của bên có thẩm quyền.
- Kiểm tra: ngày cho phép phải trước tương tác nghiên cứu. ISEF/Helsinki là nguồn tham chiếu, không tự thay luật Việt Nam. T06, T18/D09, D15/GC.
F04 — Hợp đồng dữ liệu chưa thống nhất
- Bằng chứng: schema YAML, schema JSON, KC riêng.
- Đối chiếu: khác trường
title_vi/title/clinical_statement,review_status/status,sources/source/evidence_source; chữ hoa/chữ thường khác nhau. - Tác động: bộ đọc và kiểm tra có thể nhận các tập nội dung khác nhau mà không báo thiếu.
- Xử lý: chọn schema chuẩn; lập ánh xạ, giữ ID và nguồn; quyết định xử lý trùng KC-OA-001 trước chuyển đổi.
- DoD: một hợp đồng có phiên bản; dữ liệu cũ có cách chuyển và truy ngược; thay schema phải cập nhật validator.
- Kiểm tra: mẫu đúng/sai cho YAML đầu file, khối YAML, FAQ, EC và case; đếm đầy đủ. T04, T05/D06/GA.
F05 — Nhãn duyệt chưa gắn chặt với phiên bản nội dung
- Bằng chứng: schema trên;
📄 SQL,vw_PublishedKnowledge; chính sách, §1.3. - Đối chiếu: có đường cho APPROVED/PUBLISHED mà không bắt buộc đủ người duyệt, ngày và phiên bản nguồn trong các hợp đồng đã đọc.
- Tác động: nội dung có thể được xem là đủ điều kiện chỉ nhờ chuỗi trạng thái.
- Xử lý: bản phát hành phải gắn mã nội dung, nguồn, quyền, người duyệt và quyết định. Nội dung đổi phải mở lại duyệt.
- DoD: DRAFT, BLOCKED_CONFLICT và bản duyệt hết hiệu lực không vào gói trả lời.
- Kiểm tra: test chống nâng trạng thái giả và thu hồi nguồn; AI không ký thay CVYK. T04, T07, T10/D05, D06, D08/GA, GB.
F06 — Nhãn phân loại mức độ xung đột
- Bằng chứng: EC nhiễm khuẩn, §D; KC tổng hợp, KC-SEPT-001; chính sách, RF-002/003.
- Đối chiếu: URGENT và EMERGENCY được dùng không đồng nhất; nhóm triệu chứng đôi khi bị gộp dưới một nhãn.
- Tác động: hành động phụ thuộc nguồn được nạp thay vì quy tắc đã phân xử.
- Xử lý: CVYK lập bảng tình huống–hành động–nguồn chuẩn; tách nhóm nếu các tình huống cần xử lý khác nhau.
- DoD: không còn mâu thuẫn chưa giải quyết trong phạm vi phát hành; giữ trạng thái chặn khi chưa thống nhất.
- Kiểm tra: lần theo cùng tình huống qua EC, KC, FAQ, quy tắc và đáp án test. T04, T08, T11/D06, D07, D10/GA, GC.
F07 — Nội dung dự thảo vượt ranh giới phản hồi
- Bằng chứng: KC-OA-005, KC-LBP-002, KC-OSTEO-002 trong KC tổng hợp; FAQ-OA-007/OSTEO-008 trong FAQ.
- Đối chiếu: có nội dung về thuốc, liều hoặc cách dùng; ranh giới dự án không cho kê đơn hay hướng dẫn điều trị cụ thể.
- Tác động: nạp nguyên nguồn có thể đưa nội dung dành cho thẩm định vào câu trả lời cho người dùng.
- Xử lý: tách nguồn chuyên môn với nội dung giáo dục được phép trả lời; CVYK xem xét ngôn ngữ.
- DoD: gói trả lời chỉ chứa phần được duyệt; nhãn INFORM_ONLY hoặc lời khuyên an toàn không thay kiểm soát.
- Kiểm tra: review ngữ nghĩa và test yêu cầu ngoài phạm vi. Chưa có chứng cứ đã phục vụ người dùng. T07, T11/D06, D07/GA, GC.
F08 — Quyền nguồn không khớp giữa các sổ
- Bằng chứng: sổ quyền và source registry, ACR_OA_2026, AWGS_2025.
- Đối chiếu: confirmed/yes và pending không nhất quán; 18 nguồn còn pending ở bước kiểm tra con người.
- Tác động: công khai tài liệu không đồng nghĩa được gửi toàn văn cho model, lưu đệm hoặc xuất lại.
- Xử lý: quyền theo thao tác; dùng trích đoạn tối thiểu khi có quyền; chưa rõ thì chặn thao tác tương ứng.
- DoD: mỗi nguồn trong bản phát hành có định danh, locator, phiên bản, quyền và người xác minh.
- Kiểm tra: mở nguồn và giấy phép thực; S07 chỉ xác nhận trang tóm tắt ACR 2026 tồn tại. T02, T07/D05/GA, GD.
F09 — Chính sách dữ liệu chưa khép kín
- Bằng chứng: data map, §1/§5; consent;
📄 SQL, AuditLog; đề cương, IV.4. - Đối chiếu: quyền GVHD xem dữ liệu thô trái nhau; thời hạn ghi âm khác nhau; lưu khung xương và chỉ số chưa đồng bộ.
- Tác động: dữ liệu sức khỏe có thể đi vào log hoặc nhà cung cấp ngoài dự kiến.
- Xử lý: lập luồng đầu cuối, mục đích, lưu tạm/lưu lâu, quyền truy cập, xóa và ngoại lệ pháp lý.
- DoD: consent, API, SQL, STT, camera và hợp đồng nhà cung cấp khớp nhau; không gọi mã số là ẩn danh hoàn toàn.
- Kiểm tra: test quyền và xóa bằng dữ liệu giả; không mặc định lưu toàn văn hỏi đáp. T02, T06, T13/D09, D12/GC.
F17 — Xuất HTML thiếu ranh giới công bố
- Bằng chứng:
📄 build_docs_site.py,collect_all_documents(),process_and_build_site(),build_sitemap_xml(). - Đối chiếu: quét rộng docs/knowledge-base, gồm dữ liệu, prompt, diary và nguồn; chưa thấy điều kiện quyền/duyệt ở các hàm này.
- Tác động: nếu công bố nguyên đầu ra, có nguy cơ phát hành bản nháp, dữ liệu nội bộ và nội dung chưa rõ bản quyền.
- Xử lý: tách nội bộ/công khai; danh sách cho phép phải bao gồm search index, sitemap, tệp tải xuống và đầu ra cũ.
- DoD: bộ công khai chỉ có mục được phê duyệt xuất bản; nội bộ có kiểm soát truy cập thật.
- Kiểm tra: test tài liệu bị cấm không xuất hiện ở mọi đầu ra; chưa xác nhận site đã công khai trên mạng. T15/D19/GD.
3. Các phát hiện P1
F10 — Hai bộ kiểm thử chưa có hợp đồng chung
- Bằng chứng: 55 ca và 50 ca; số lượng được kiểm bằng YAML parser.
- Khác biệt:
scenario/input_text; năm action class so với block/warn/safe. Không có bộ chạy hoặc nhãn chuẩn độc lập tạitesting/benchmark/. - Tác động: tỷ lệ PASS giữa hai bộ không so được. Cấm ký tự “0” hoặc một từ chung có thể loại câu an toàn.
- DoD: ánh xạ có người duyệt; ID duy nhất; tách lỗi nghiêm trọng khỏi điểm trung bình; đáp án có nguồn.
- Kiểm tra/việc: thử phủ định, mơ hồ, thiếu dữ kiện, ngoài phạm vi, lỗi STT và lỗi model; T08, T11, T17/D10/GB, GC.
F11 — PASS của công cụ có phạm vi hẹp
- Bằng chứng:
📄 validate_schema.py,main()vàextract_yaml_blocks();📄 audit_vault.py,audit_file(). - Thực thi: validator 19/19 PASS; audit 1/1 PASS. Hai tập khác nhau và không chứng minh đủ nguồn/duyệt.
- Tác động: kiểm tra rỗng hoặc bỏ sót định dạng có thể tạo báo cáo xanh giả.
- DoD: báo rõ phát hiện/quét/bỏ qua; ca lỗi, rỗng, YAML hỏng phải thất bại đúng; kiểm trùng ID toàn kho.
- Kiểm tra/việc: tập fixture có kết quả biết trước; không sửa nguồn để vừa validator lỗi. T05/D06, D20/GA.
F12 — Kiến trúc sản phẩm chưa có triển khai
- Bằng chứng: backend README, frontend README,
📄 Makefile; kiểm kê app/src bằng 0. - Tác động: danh sách endpoint, bộ lọc và quyền riêng tư vẫn là ý định, chưa phải khả năng hệ thống.
- DoD: bảng hiện trạng từng thành phần; làm luồng chữ nhỏ đầu cuối với test, rồi mới mở tính năng.
- Kiểm tra/việc: API giả trước, sau đó bản tích hợp có log đã tối giản; T09–T13/D08, D11, D12/GB.
F13 — Lập luận Context Loading quá chắc chắn
- Bằng chứng: nghiên cứu Obsidian/RAG, B–E; kiến trúc, §1; S01, S02.
- Đối chiếu: giữ toàn văn không chứng minh model dùng đúng mọi thông tin. MB không quy đổi chính xác thành token tiếng Việt.
- Tác động: ước lượng chi phí, độ trễ và an toàn dựa trên giả định chưa đo.
- DoD: ghi giả thuyết; đo token đúng model, p50/p95, nguồn dẫn và lỗi trên bộ khóa; chưa có API thì ghi chưa đo.
- Kiểm tra/việc: so cấu hình dùng cùng dữ liệu/nhãn; không đưa cấu hình bỏ an toàn cho người dùng. T09, T17/D08, D10/GB.
F14 — Roadmap v6.1 chưa đồng bộ số học và lịch
- Bằng chứng: roadmap hiện hành, §1.3, các sprint, §4 và §6; phản biện song song.
- Đối chiếu mới: bảng tổng đã là 23 tuần, C1–C4 là 173h. Nhưng bảng cổng vẫn W14/W16/W21, mốc mới W15/W17/W23.
- Camera W3–W10 là 8 tuần, không phải 10: 173/(8×20)=108,1%. C2 là 55h/2 tuần=27,5h/tuần.
- S3 chi tiết CVYK cộng 12h, bảng tổng ghi 10h. Task 1.11 và 6.7 được đề xuất nhưng chưa có hàng công việc tương ứng.
- DoD: một nguồn lịch; tổng dòng khớp tổng bảng, người không vượt capacity, ngày trong tuần đúng; không dùng buffer như mốc có độ dài.
- Kiểm tra/việc: tính lại từ nhiệm vụ, giữ lịch sử v6.1; T01, T03/D01, D02, D13/G0.
F15 — Đánh giá độc lập chưa được bố trí
- Bằng chứng: đề cương, II.3; D91; roadmap, 5.2.
- Đối chiếu: có mô tả hai người đánh giá nhưng chưa có người thứ hai được xác nhận. D91 ghi 1,2h cho 100 ca, chỉ 43,2 giây/ca.
- Tác động: nhãn chuẩn, độ tin cậy và lịch review chưa đủ căn cứ.
- DoD: xác nhận người phù hợp, review độc lập, cách phân xử và thời lượng đo từ lô mẫu; khai giới hạn nếu chỉ một người.
- Kiểm tra/việc: tách tập phát triển/đánh giá, không tính lần chạy lặp như ca độc lập; T08, T17/D10, D16/GC.
F16 — Camera còn trộn đo lường với ngưỡng chuyên môn
- Bằng chứng: báo cáo camera, B1/F4; phương án, F5/F8/F9; task board.
- Đối chiếu: điều kiện bắt đầu và tích hợp khác nhau; chữ ký ngưỡng chưa đủ; “accuracy 85%” không định nghĩa đại lượng.
- Tác động: demo kỹ thuật dễ bị diễn giải thành khả năng sàng lọc lâm sàng. Tỷ lệ 70–75% chưa có phép đo xác minh.
- DoD: đo sai số, tỷ lệ không đo được và thời gian xử lý theo thiết bị; chuẩn so sánh được duyệt trước, không suy độ nhạy bệnh.
- Kiểm tra/việc: dữ liệu giả hoặc dữ liệu có quyền trước; điều kiện trên người theo F03; T14, T19/D14/GCA, GCB, GC.
F18 — Liên kết và đầu ra cũ không được bảo toàn đáng tin
- Bằng chứng:
📄 link_audit.py,HTML_DIR;📄 build_docs_site.py, bộ thay liên kết; README/INDEX. - Thực tế:
tools/html/không tồn tại trong khi root có 456 trang. README trỏ hai file không có; INDEX trỏ mục lục không có. - Khi tích hợp bộ tư vấn, liên kết thiếu tại INDEX được thay bằng thư mục nghiên cứu có thật; phần còn lại chưa được sửa.
- Tác động: zero file hoặc bỏ link thành chữ thường không phải 0 lỗi liên kết.
- DoD: kiểm đủ file, link đích, anchor, tên trùng và mục bị loại; không mất link bằng chứng; bản cũ có trạng thái thay thế.
- Kiểm tra/việc: test liên kết sai đã biết; báo riêng lịch sử và liên kết hoạt động. T03, T15/D02, D19/GB, GD.
F19 — Môi trường và phụ thuộc chưa tái lập
- Bằng chứng:
📄 pyproject, requirements,📄 Makefile,build_glossary_js.pyimport; phép kiểm import. - Thực tế: Python đang chọn 3.14.3; không có
markdownvàglossary_data; manifest không đủ giải thích toàn công cụ. - Tác động: không thể coi lệnh cài README là đã được chứng nhận trên Windows/máy chủ.
- DoD: nhóm runtime/docs/dev rõ; khóa bản phù hợp; phiên bản được test; lệnh Windows có hướng dẫn; không cài tất cả cho audit.
- Kiểm tra/việc: môi trường sạch, phát hiện không có test và package thiếu; T05, T09/D20/GB.
F20 — SQL chưa đủ điều kiện chạy nguyên tệp
- Bằng chứng:
📄 SQL, CREATE VIEW nối sau DDL không tách batch; S10 quy định CREATE VIEW đầu batch. - Tác động: chạy nguyên tệp không đáp ứng quy tắc này; chưa có thử nghiệm MSSQL hoặc migration/rollback.
- Có khoảng trống toàn vẹn
claim_id,ReviewHistory.item_id; log toàn văn có rủi ro dữ liệu. - DoD: script migration tái chạy có kiểm soát, batch đúng công cụ thực thi, khóa ngoại cần thiết, quyền tối thiểu và thử khôi phục.
- Kiểm tra/việc: chỉ trên database thử được cấp quyền, không nói đã lỗi production; T13/D09, D12/GB.
F21 — Hướng dẫn IIS còn phụ thuộc chưa xác nhận
- Bằng chứng: IIS guide, §1–3, §5–8.
- Đối chiếu: cổng 8000 so cổng động; module chưa có; URL Rewrite/ARR/ODBC và quyền SQL chưa khép kín.
- Tác động: chưa đủ hướng dẫn tái lập hoặc xử lý sự cố. Không biết máy chủ đã có những thành phần nào.
- DoD: chọn một phương án hosting, app path, API prefix, tài khoản vận hành và quy trình HTTPS/log/restore rõ.
- Kiểm tra/việc: smoke test, route, quyền, phục hồi ở môi trường thử; T13/D12/GB, GC.
F22 — Mục tiêu, số lượng và bảng phân loại không khớp
- Bằng chứng: charter, §7; roadmap S2–S4; bảng phân loại; các MOC.
- Đối chiếu: 80/100 KC; 50/300 FAQ; tổng mức duyệt tối thiểu từng task là 64, không đủ Gate A 80.
- Bộ hiện có là 19 KC và 48 FAQ;
general,body_regionvà bảy nhóm không khớp giữa schema, MOC và bảng phân loại. - DoD: phạm vi theo nhu cầu và bao phủ, không chỉ số lượng; mỗi ID có ánh xạ, mục tiêu tạo/duyệt/sửa lại tính riêng.
- Kiểm tra/việc: tính tổng từ dòng nhiệm vụ và so catalog phát hành; T01, T04, T07/D01, D06/GA.
F24 — Nhật ký và nhận định nghiên cứu cần giữ đúng mức bằng chứng
- Bằng chứng: diary 26/09; outline, §1.2/§3.4; PL3.
- Đối chiếu: có tuyên bố “đầu tiên”, hiệu quả tuyệt đối hoặc đã tuân thủ trước bằng chứng; có ngày tương lai trong file dự thảo.
- Nhật ký cũ từng đề xuất ghi hồi tố. Bản tóm tắt AI không chứng minh NCS đã ghi tay theo thời gian thực.
- DoD: giữ lịch sử, bổ sung đính chính có ngày; không giả chữ ký/thời gian; kết luận và hướng tiếp theo do NCS tự xây dựng.
- Kiểm tra/việc: mỗi kết luận nối dữ liệu/phiên bản; thiếu chứng cứ ghi chưa xác minh; T03, T20/D04, D16, D17/GD.
4. Phát hiện P2
F23 — Kiểm tra cấu trúc và thuật ngữ cần phân loại đúng
- Bằng chứng:
📄 check_structure.py, danh sách thư mục;📄 gitignore;📄 check_glossary.py, regex. - Thực thi đầu phiên: 2 HIGH cấu trúc cho venv/egg-info đã được gitignore; 7 HIGH thuật ngữ, một số nằm trong ví dụ từ cấm.
- Tác động: tiếng ồn kiểm tra và áp lực sửa lịch sử không cần thiết. Không được dùng loại trừ rộng để che lỗi thật.
- DoD: phân biệt môi trường, nguồn nguyên bản, ví dụ và nội dung đang phát hành; mọi loại trừ có lý do và test.
- Kiểm tra/việc: bảo toàn 6 script nguồn hiện tại; không xóa môi trường để PASS; T03, T05/D02, D20/GB.
5. Phân công tiếp theo và điều kiện đóng
| Vai trò | Việc | Trạng thái |
|---|---|---|
| Nhóm review | Kiểm kê, đối chiếu, lập F01–F24 | Đã thực hiện trong phạm vi nêu |
| Nhóm triển khai | Nhận T01–T20 sau quyết định phù hợp | Chưa giao/nhận việc; chưa thực hiện |
| Nhóm kiểm tra độc lập | Kiểm lại DoD, bằng chứng và phiên bản sau sửa | Chưa thực hiện |
Không điền trước kết quả của người triển khai hoặc người nghiệm thu.
Đóng phát hiện cần: người xử lý, file/phiên bản, bằng chứng kiểm tra, người chấp nhận và ngày.
Phát hiện P0 không được đóng bằng giảm ưu tiên hoặc tăng điểm đánh giá chủ quan.