HVU-UI03 — UI gọn, hai tab, trạng thái trực quan đã lên KB
HVU-UI03 — UI đã lên KB
Ngày 21/09/2026, Executor Codex. Owner tiếp tục chỉnh UI trực tiếp trên KB. Phạm vi: UI compact + HTML MOT thật + thiết kế contract đồng bộ. Webhook chưa bật.
3 câu Tuyên ngôn
- Vĩnh viễn: giữ nguồn HTML công việc trên GitHub, dùng khung chung, không viết lại MOT; runtime shell VPS giữ nguyên.
- Nhầm: fixture có nhãn; không suy actor từ Git pusher; dữ liệu thực tế sẽ theo snapshot riêng từng việc và cùng revision HTML.
- Tự động: chưa hoàn tất đồng bộ. Contract webhook + kiểm tra bù đã ghi trong README/COLLAB; không báo tự động hoạt động khi chưa nối.
Bước 0–2
Đã đọc incomex-rules, OR v7.58, Hiến pháp v4.6.3; đọc COLLAB, nguồn lắp ráp, HTML MOT. Owner mới ưu tiên webhook thay thiết kế no-webhook cũ; lượt này hoàn thiện UI trước trong khi hỏi tùy chọn phạm vi triển khai webhook, chưa có trả lời. Assembly: Nuxt UI hiện hữu UAccordion/UTabs/UTooltip/UButton/UInput/UBadge/UAlert. Hai tab Kiểm soát và Nội dung công việc; sidebar bằng 80% UI02; các hàng gọn. Tiến độ 4 thanh, tooltip, xám/xanh/đỏ/vàng cam. Sáu actor, 12 chấm, fixture có nhãn. HTML nguyên bản MOT được mirror không chỉnh nội dung.
Bước 3–4
Source app.vue commit 94422f6c16c007acf0498742f1c6faf91c50b400; contract README commit 4bb7ee9ed8fb34162e6a704f8fb98061ae34c230; pack metadata commit 7b31c20c17c6431ba64287e5cd0f8e146c48530f; HTML commit c2e27f322511c8b6337d399fc6a68ca2855c8b47. Ghi qua workspace tools với expected version/head. Build Nuxt generate exit0; pack 407334 bytes. Mũ coder hoàn thành assembly; mũ reviewer kiểm tra thao tác và DOM, đối chiếu SHA nguồn với mirror. Không đổi DB, quyền, nginx hay runtime shell. Backup /opt/incomex/deploys/hvu-ui03-before-20260921.html. Mirror thay nguyên tử.
Bước 5 — evidence thật
knowledge/modules 200 259263 01dcaca753ffc86e1d66fe0c73819594a81d5c27d8c666ea5b77380ce9ae5d44
ui-preview/hpml-view-for-user/view.html 200 407334 cabea1d8ac04cb5a8e895ec12a62907b6dd7c7d690d30f134049260bd7bdc112
ui-preview/hpml-view-for-user/documents/mow-mot-moit-mout.html 200 1827486 f4aac30c492f104ec54ff7a03ace54ce70d802e2dd49a417ad9b7285897a050c
DOM đo local desktop:
{"dots":12,"grid":1193.8209228515625,"left":336.5411682128906,"oldLeft":420.68284606933594,"overflow":false,"ratio":0.7999878563087944,"stageBars":4}
Browser live thấy 2 tab, bốn nút tên giai đoạn, bảng 6 thành viên. Đã thử mở tiến độ local, chuyển công việc/tab trên production. MOT hiện UI Master/Quy trình/các bảng trong iframe; ảnh chụp xác nhận. Chưa kiểm mọi chức năng/liên kết của HTML MOT nguồn; tài liệu gốc có đường dẫn tương đối và asset ngoài, giữ nguyên không tự public file phụ. Iframe sandbox tách tài liệu. Mở rộng dẫn tới mirror toàn trang.
Một kiểm tra urllib local lỗi CA; dùng curl với kiểm tra TLS mặc định thành công, không tắt TLS. Console outer KB có Directus Auth Init Error khi anonymous và lỗi MutationObserver đã có ở shell; không sửa ngoài scope. MOT hiển thị được, không kết luận mọi chức năng ứng dụng MOT hoạt động. Temporary viewport đã reset, tab KB giữ mở.
Bước 6 — bàn giao và còn mở
URL https://vps.incomexsaigoncorp.vn/knowledge/modules. Nguồn/README/COLLAB đã cập nhật. Còn mở: triển khai receiver, xác thực webhook, index snapshot, asset manifest và cơ chế tab nạp phiên bản mới, kiểm tra bù; xác minh nguồn actor đang làm. Không giả tín hiệu bằng push author. OR không cần đổi vì đây là áp dụng nguyên tắc có sẵn, không thêm luật nền.
Tham chiếu màu: https://developer.apple.com/design/human-interface-guidelines/color ; cơ chế webhook: https://docs.github.com/en/webhooks/using-webhooks/best-practices-for-using-webhooks