Biên bản nâng cấp CXK — đợt 1

26/09/2026 · AI thực hiện phần kỹ thuật theo yêu cầu triển khai.
Trạng thái: đã triển khai một phần; còn lỗi lưu file/encoding và các điều kiện phê duyệt chưa giải quyết.
Sổ T01–T20 · Q01–Q08.

Bổ sung sau đợt 2: E01/E09 đã được sửa theo quyền ghi byte mới. Nội dung bên dưới giữ kết quả lịch sử.
Hiện trạng tiếp theo tại biên bản đợt 2; chưa hoàn tất toàn bộ T01–T20.

1. Phạm vi đã làm

T03/T05/T09 được triển khai phần quản trị, công cụ và mô phỏng không gọi mô hình.
Không coi yêu cầu triển khai là phê duyệt y khoa, quyền nguồn, pháp lý hoặc nghiên cứu có người tham gia.
Không có người nào được tự điền là đã nhận việc, ký hồ sơ hoặc chấp nhận lịch 38 tuần.

Phần Thay đổi thực
Quản trị Sổ T01–T20, danh mục D01–D20, sổ quyết định, hồ sơ AI, dữ liệu/nhà cung cấp và quy trình HTML
Validator Quét đệ quy bốn nhóm; dạng cấu trúc và Markdown; trùng ID; khung rỗng; parse lỗi; phạm vi và loại trừ
Audit vault Dùng chung validator, không còn PASS chỉ nhờ từ khóa
Cấu trúc Loại môi trường có dấu nhận biết; giữ báo cáo nguồn; không xóa thư mục tuần khi đích đã tồn tại
Thuật ngữ Che mã/đích link; giữ số dòng; báo riêng ví dụ sửa sai; lỗi đọc/rỗng không thành kết quả sạch
Liên kết HTML Quét đúng html/; đọc thuộc tính thật; kiểm đích/anchor; chặn thoát thư mục và ghi đè nguồn bằng báo cáo
Backend Hợp đồng 0.1.0-offline; health 200, readiness/chat 503, lỗi cấu trúc 422 không lặp đầu vào
Môi trường Tách phụ thuộc mặc định/backend/dev/docs và dịch vụ cũ; thêm lệnh kiểm PowerShell; không cài/gỡ gói
Điều hướng README phản ánh hiện trạng; INDEX v2.4; bỏ bản sao lịch và tuyên bố tuân thủ chưa kiểm chứng

2. Kiểm tra đã thực thi

Python do VS Code chọn: .venv, 3.14.3. Không có Git ở gốc để xuất diff quản lý phiên bản.
Test dùng dữ liệu tổng hợp, thư mục tạm do pytest quản lý và TestClient trong tiến trình.

Phép kiểm Kết quả thực Giới hạn
Toàn bộ pytest 160 passed, exit 0, lần tích hợp 16,72 giây Không chứng minh tính đúng y khoa hoặc môi trường cài sạch
PowerShell -TestsOnly Chạy lại cuối: 160 passed, 11,16 giây, exit 0 Script chỉ điều phối, không cài gói hoặc mở dịch vụ
Bộ chặn mạng trong test API Chặn khi import/reload/startup; client dùng đúng app đã tạo Socketpair Windows cần mở connect cục bộ rất ngắn; không phải sandbox mạng đầy đủ
Validator thực 12 file tìm thấy, 9 đánh giá, 3 loại trừ; 74 mục, 70 hợp lệ cấu trúc, 4 lỗi Quyền nguồn, phê duyệt và phát hành đều chưa đánh giá
Nội dung theo nhóm 20 biểu diễn KC, 48 FAQ, 6 EC, 0 case ID KC-OA-001 trùng, không tính là 20 thẻ độc lập
Cấu trúc 0 HIGH, 6 MEDIUM, 0 LOW, exit 0 Sáu script trong nguồn được giữ nguyên, không che bằng ngoại lệ rộng
Thuật ngữ toàn kho trước bổ sung biên bản 300 file; 8 ví dụ sửa sai báo riêng; 0 HIGH, 127 MEDIUM, 220 LOW Không coi MEDIUM/LOW là đã sửa hết; số quét đổi khi thêm tài liệu
HTML hiện có 456 trang, 26.966 link, 193 URL ngoài bỏ qua, 78 lỗi, 0 lỗi đọc Không sửa hoặc build HTML; các lỗi vẫn mở
Bảo toàn nguồn 1.753 file trong tri thức, HTML, safety, deployment khớp SHA-256 bản kê nền lúc 14:27 Không suy hash chứng minh quyền hoặc phê duyệt
Tài liệu tích hợp 12 Markdown, 234 lượt liên kết có đích, không có đích thiếu Không kiểm mọi anchor Markdown hoặc URL bên ngoài
Quét thuật ngữ cuối 301 file, 8 ví dụ tách riêng, 0 lỗi đọc; 0 HIGH, 127 MEDIUM, 219 LOW Có thay đổi nhật ký ngoài phiên; số đếm chỉ gắn thời điểm quét
Cú pháp mã Tất cả Python sửa/tạo parse được; trình soạn thảo không báo lỗi mã được kiểm UTF-8 BOM vẫn là lỗi quy ước riêng cần xử lý

Lệnh test cuối: python -m pytest -q -p no:cacheprovider, dùng đúng môi trường đã chọn.
Đặt PYTHONIOENCODING=utf-8, PYTHONDONTWRITEBYTECODE=1, PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 cho lần kiểm độc lập.
Lệnh tools/link_audit.py trả 1 vì phát hiện 78 lỗi thật. Không gọi đây là bộ test mã thất bại.

Kiểm tra độc lập và sửa hồi quy

  • Sửa kiểm thử ban đầu giữ app cũ sau reload; thêm ca chứng minh chặn mạng ở lúc nạp và khởi động.
  • Sửa đọc schema rỗng/thiếu để trả lỗi có cấu trúc thay vì KeyError.
  • Chặn ghi báo cáo link vào site, file HTML hoặc file đã tồn tại; báo cáo dùng tạo độc quyền.
  • Chỉ coi cụm song ngữ đầy đủ là giải thích; dấu ) đơn lẻ không còn miễn kiểm thuật ngữ.
  • Dấu gạch chéo ngược trong query/fragment không bị nhầm với đường dẫn Windows; đường dẫn nguy hiểm vẫn bị chặn.
  • Script PowerShell 5.1 dùng ASCII để tránh giải mã UTF-8 không BOM thành ký tự gây lỗi cú pháp.

3. Lỗi còn mở và hành động tiếp

Mã Lỗi/điểm chặn Cách xử lý tiếp theo
E01 BOM còn ở tools/validate_schema.py và script audit_vault.py Lưu UTF-8 không BOM qua trình soạn thảo; kiểm byte và hash nội dung; chạy lại test
E02 ID KC-OA-001 trùng và file riêng là khung rỗng T04 quyết đại diện chuẩn; không xóa hoặc đổi ID để che lịch sử
E03 KC-SAFE-001/002 thiếu nguồn theo schema hiện có T07 tìm và review nguồn; không bịa nguồn hoặc miễn schema âm thầm
E04 case-bank chưa có ca nội dung T04/T08 xác định cấu trúc và ca; không tạo ca y khoa giả như dữ liệu chuẩn
E05 78 lỗi HTML chủ yếu gồm anchor và đích T15 sửa từ nguồn/builder sau Q08 và kiểm quyền; không sinh lại toàn kho lúc này
E06 127 MEDIUM/220 LOW thuật ngữ tại lần quét đã ghi Phân loại văn bản hoạt động, lịch sử và ngữ cảnh; không thay hàng loạt nguồn gốc
E07 Chưa thử cài sạch hoặc khóa toàn bộ phụ thuộc T05/T09 kiểm trên môi trường tách biệt; khai báo khoảng phiên bản chưa phải lockfile
E08 Q01–Q08 chưa có quyết định cần thiết Giữ T01/T02/T04/T06 bị chặn; chưa mở G0 hoặc các cổng tiếp theo
E09 README còn MD012 ở dòng trắng cuối dù đã thử sửa Xóa dòng trắng thừa bằng trình soạn thảo rồi kiểm lại; không ảnh hưởng 160 test

E01 đã được thử sửa bằng thao tác cập nhật và tái tạo file qua trình soạn thảo nhưng BOM vẫn còn.
Đã hỏi về sửa byte qua terminal; người dùng chưa đưa ra lựa chọn cụ thể và không có mặt để phản hồi.
Không tự chuyển sang ghi file bằng terminal. Giữ nội dung logic đã kiểm thử và ghi rõ chưa đạt yêu cầu encoding.
E09 đã được thử sửa ba lần nhưng trình lưu vẫn giữ dòng trắng. Không tiếp tục lặp chỉnh cùng lỗi khi chưa đổi cách lưu.

4. Danh sách file trong phạm vi đợt này

Mã và cấu hình sửa

  • tools/validate_schema.py, .agents/skills/cxk-obsidian/scripts/audit_vault.py.
  • tools/check_structure.py, tools/check_glossary.py, tools/link_audit.py.
  • pyproject.toml, backend/requirements.txt, Makefile.

Mã và test tạo

  • backend/app/__init__.py, backend/app/main.py, backend/tests/test_offline_api.py.
  • testing/scripts/test_validate_schema.py, testing/scripts/test_check_structure.py.
  • testing/scripts/test_link_audit.py, testing/scripts/test_check_glossary.py, testing/scripts/test_environment_contract.py.
  • tools/KIEM_TRA_CXK.ps1.

Tài liệu tạo hoặc cập nhật

  • Bốn sổ mới tại docs/project/: SO_THEO_DOI_NANG_CAP.md, DANH_MUC_TAI_LIEU_CHUAN.md, SO_QUYET_DINH_THAY_DOI.md, HO_SO_SU_DUNG_AI.md.
  • docs/legal/HO_SO_DU_LIEU_VA_NHA_CUNG_CAP.md.
  • docs/guides/QUY_TRINH_XUAT_BAN_HTML.md, docs/guides/MOI_TRUONG_VA_DONG_GOP.md.
  • backend/DAC_TA_API_VA_NGU_CANH.md, backend/README.md, README.md.
  • docs/INDEX.md, docs/diary/2026-09-26.md và biên bản này.

Chỉnh thuật ngữ rất hẹp

  • docs/research/plans/ROADMAP.md: chuẩn hóa tên , không đổi lịch hoặc giờ.
  • docs/research/plans/W22/D150_T4_bao_cao_c1_3.md, D152_T6_nhat_ky.md, D154_CN_ket_luan_format.md.
  • docs/research/plans/W23/D158_T5_mock_defense.md, D159_T6_nhat_ky.md.
  • docs/research/prompts/20260926_0549_PROMPT_NANG_CAP_CAMERA_V6.md: chuẩn hóa một cụm kỹ thuật, không sửa yêu cầu.

Prompt chứa bảng ví dụ từ sai ngày 25/09 được giữ nguyên. Kết quả ví dụ được báo riêng, không làm mất chứng cứ lịch sử.
Không sửa thẻ/nguồn/schema y khoa, SQL, hoặc HTML. Không tự xóa script nguồn hoặc thư mục có xung đột.
Không ghi đè CSV kiểm kê nền; nó là ảnh chụp trước triển khai và không còn đại diện hash của file đã nâng cấp.
So hash cuối thấy thêm thay đổi ở diary 12–25/09 ngoài phạm vi phiên này. Không nhận hoặc ghi đè các thay đổi đó.
Danh sách 30 file cũ đổi hash không đồng nghĩa phiên này đã sửa cả 30 file.

5. Trạng thái bàn giao

T03/T05/T09 mới hoàn thành phần kỹ thuật được mô tả, chưa đạt toàn bộ .
E01/E09 còn mở nên không tuyên bố đợt nâng cấp hoàn tất. Các phép thử thành công vẫn được giữ làm bằng chứng có phạm vi.
T10–T20 chưa được tự thực thi vượt phụ thuộc; frontend, mô hình, camera, pilot và phát hành tiếp tục bị chặn phù hợp.
tự kiểm mã và tài liệu trước khi dùng. Không có chữ ký, đồng ý nghiên cứu hoặc phê duyệt do AI cấp.

6. Bổ sung tiếp tục lúc 14:53 — kiểm byte chỉ đọc

Theo yêu cầu tiếp tục, bổ sung công cụ phát hiện lỗi lưu file mà không sửa dữ liệu được quét.
Đã hỏi lại quyền sửa byte qua terminal; chưa nhận được lựa chọn cụ thể. E01/E09 vẫn mở, không lặp sửa bằng cách đã thất bại.

File tạo/sửa trong lượt tiếp tục Thay đổi
tools/KIEM_TRA_TEP_VAN_BAN.py Công cụ mới, không phụ thuộc ngoài; kiểm .md/.py, chỉ đọc, JSON ra stdout
testing/scripts/test_text_files.py Test mới cho byte, phạm vi, lỗi đọc, loại trừ, liên kết và bảo toàn file
tools/KIEM_TRA_CXK.ps1 Chạy kiểm byte trước công cụ khác; tắt tự nạp phần mở rộng pytest
testing/scripts/test_environment_contract.py Kiểm khai báo bộ kiểm byte và cấu hình PowerShell chỉ đọc
docs/guides/MOI_TRUONG_VA_DONG_GOP.md Phiên bản 0.2; cách chạy, mã thoát và giới hạn
Sổ theo dõi, hồ sơ AI, biên bản này, nhật ký 26/09 Ghi phần đã làm và lỗi vẫn mở; không thay lịch sử nền

Bằng chứng đã chạy

  • Toàn bộ test qua PowerShell: 181 đạt, 1 bỏ qua, 17,00 giây trên Python 3.14.3.
  • Test liên kết tượng trưng thực bị bỏ qua vì quyền hệ thống. Test mô phỏng điểm chuyển hướng Windows đạt.
  • Cú pháp PowerShell đạt. Ba file Python thuộc lượt tiếp tục không có lỗi byte sau bổ sung ký tự xuống dòng cuối.
  • Quét 444 file, loại trừ 3 nhánh, không có lỗi đọc hoặc UTF-8 không hợp lệ.
  • Còn 129 phát hiện trên 121 file: 66 BOM, 40 lỗi dòng trắng cuối và 23 thiếu ký tự xuống dòng cuối.
  • Trong đó 61 phát hiện nằm tại knowledge-base/sources/. Chỉ ghi nhận, không tự sửa nguồn.
  • Lượt quét đầu là 131 phát hiện. Hai lỗi thiếu xuống dòng ở file Python mới đã được sửa bằng trình soạn thảo.
  • Lệnh tổng hợp chạy đủ: byte trả 1, cấu trúc 0, thuật ngữ 0, validator 1; mã tổng là 1 đúng kỳ vọng.
  • Cấu trúc: 0 HIGH, 6 MEDIUM. Thuật ngữ: 301 file, 0 HIGH, 127 MEDIUM, 219 LOW tại lần kiểm trước cập nhật này.
  • Kiểm lại 1.753 file tri thức/HTML/an toàn/triển khai: không đổi SHA-256 so bản kê nền.

Hậu kiểm sau cập nhật tài liệu: 181 test đạt, 1 bỏ qua, 10,87 giây; 29 liên kết trong năm tài liệu đều có đích.
Tổng lỗi byte và thuật ngữ không đổi. Năm tài liệu vừa sửa đều đạt kiểm byte.
Trình soạn thảo còn cảnh báo định dạng tại các mục nhật ký cũ; không chuẩn hóa lại lịch sử trong lượt này.

Các số quét là ảnh chụp tại lượt kiểm, không tự cập nhật khi phiên khác sửa file.
Công cụ báo số file đọc và loại trừ; không coi nhánh bị loại là đã kiểm đạt.
Không cài thư viện, chạy máy chủ, gọi dịch vụ ứng dụng hoặc sinh HTML trong lượt tiếp tục.

Phần vẫn phải xử lý

E10 — tồn đọng quy ước file toàn kho: phân loại 129 phát hiện trước khi sửa; không tự chuẩn hóa nguồn hoặc ghi đè phiên khác.
E01/E09 là các trường hợp con của E10, không cộng thêm vào tổng 129.
Test mã đạt không đóng E02–E08, E10 hoặc các quyết định chuyên môn. T03/T05/T09 vẫn là triển khai một phần.