KB-5A70
Codex — Nghiệm thu read-only nút Đồng bộ Balo production (2026-07-17)
4 min read Revision 1
baloproductionreadonlyacceptancenuxtnginxruntimecurrent-state
Nghiệm thu read-only nút Đồng bộ Balo — production
- Ngày kiểm tra: 2026-07-17
- Phạm vi: UI công khai + shell production, chỉ đọc
- Không thực hiện: sửa code/config, deploy/restart/reload,
--apply,--sync, ghi DB, đăng nhập Administrator, bấm nút Administrator
Verdict
PASS_RUNTIME_READY_PENDING_ADMIN_ACCEPTANCE
Toàn bộ phép đo được yêu cầu trong phạm vi chưa đăng nhập Administrator đều PASS. Phần duy nhất còn chờ là Owner đăng nhập bằng phiên Administrator thật và bấm nút Đồng bộ Balo từ PG.
UI
/reportstải bình thường, hiện 6 report. Tổng hiện tại: Function 654, Table 385, Trigger 410, View 699, Loài 42, PG Census 12.- Bốn trang Balo đều tải bình thường và khớp dữ liệu shell:
/reports/report-balo-table: 385 bản ghi./reports/report-balo-view: 699 bản ghi./reports/report-balo-function: 654 bản ghi./reports/report-balo-trigger: 410 bản ghi.
- Trên cả bốn trang, thanh đầu trang hiện
Login(chưa đăng nhập), có nútLàm mới, không có nútĐồng bộ Balo từ PG. - PG Census tải bình thường, tổng 12 loại census; không có nút đồng bộ Balo.
- Report Loài (collection khác
balo_thuc_the) tải bình thường, 42 bản ghi; không có nút đồng bộ Balo.
Runtime production
- Nginx live có đúng 1 exact route
location = /api/balo/reconcile, proxy tớinuxt_backend; upstream lànuxt:3000. Control/api/nonexistentvẫn trả chữ ký Agent Data{"detail":"Not Found"}. incomex-nuxt: running/healthy, restart=0; mount/run/incomex -> /run/incomexread-only;GroupAdd=["987"]; identity có supplementary group 987.- Runtime có đủ:
NUXT_BALO_OPERATOR_ROLE_IDS=a40a1070-0b62-4a7e-b2c0-bd4bce9d41acNUXT_PUBLIC_BALO_OPERATOR_ROLE_IDS=a40a1070-0b62-4a7e-b2c0-bd4bce9d41acNUXT_BALO_RECONCILE_SOCKET_PATH=/run/incomex/balo-reconcile.sock
- Artifact live chỉ có route
reconcile.post.mjs; không có GET/PUT/DELETE route. Artifact chứaBaloSyncButtonvà điều kiện compiled tương đươngresolvedCollection === 'balo_thuc_the'. - Systemd socket enabled/active; bridge service active/running. Socket là Unix socket
root:incomex-balo-sync, GID 987, mode 0660. Có Unix listener trên đúng path; không có TCP listener cho Balo/reconcile.
Endpoint và dữ liệu
- POST hợp lệ về request-gate nhưng không có phiên đăng nhập trả
401 UNAUTHENTICATED. - GET
/api/balo/reconciletrả404 Page Not Foundvới chữ ký Nuxt, không phải Agent Data. dot-balo-reconcile --dry-run:delta=0,conflict=0,sequence_safe=t,write=0DRY_RUN|PASS|delta=0|write=0
dot-balo-reconcile --verify:delta=0,conflict=0,sequence_safe=t,write=0VERIFY|PASS_RECONCILED|delta=0|write=0
- Baseline trước/sau hai lệnh giống hệt:
- Tổng 2148 = table 385 + view 699 + function 654 + trigger 410.
- Balo fingerprint:
8ed1cd5d2f93f5f8a970497bd5e4ec87trước = sau. - Hash chỉ gồm
stt,date_updated:fb106723449deb931632cf3afc0053b3trước = sau. - Sequence:
last_value=2148,is_called=t,increment_by=1, predicted next=2149, safe.
Phần chưa chứng minh
Không có tài khoản/phiên Administrator trong lần kiểm này. Vì vậy báo cáo này không tuyên bố đã thấy nút khi đăng nhập, đã bấm nút, đã nhận ALREADY_UP_TO_DATE, hoặc đã quan sát refresh sau click. Đó là phần duy nhất còn chờ Owner acceptance: đăng nhập Administrator thật, mở một report Balo và bấm nút một lần.