# audit-synthesis — KHKK style audit vs Duyệt NCC (S174)

> **Dạng-1 phẳng** (`<stage>-synthesis.md`) theo `workflows/README.md:17` — RAW `sub-*` ⟂ **VERIFIED** `-synthesis.md`.
> Dạng-3 (chỉ có heading `## Synthesis` trong `run.md`) **đã retire @S123** ⇒ không ghi file này thì Sàn-3 ① kêu ORPHAN.
> Engine **propose-only**; file này = **bản lead ĐÃ VERIFY**, không phải bê thẳng lane.

## Nguồn

`/fable-clone frontend-designer` — ensemble 5 lane CÙNG 1 VAI (đa-lăng-kính), run `wf_016b1bed-b85`.
**5/5 xong · 0 chết · 0 rỗng** · 755.738 tok · 147 tool-use · ~17′.
🧊 Lần phóng đầu `wf_edc388bf-f8f` **chết ở `JSON.parse(args)`** (lead truyền free-text, script đòi object JSON) — **0 agent · 0 token · 20ms**; guard nằm ở dòng đầu nên hỏng sạch, không đốt gì.

## Verdict từng lane

| lane | verdict (END-line của chính sub-file) |
|---|---|
| **L1** panel-duyệt | 15 lệch có-thể-sửa (13 bê-thẳng + 1 bán-bê kèm vá 401 + 1 chờ-owner) · 1 KHÔNG-BÊ vì thiếu khái niệm · H2+H4 đã khớp · lệch nặng nhất = **vỏ `card-accent`**, owner KHÔNG nêu |
| **L2** panel-list | **CHƯA-PASS** — 13 delta + 3 trục rubric đỏ · O5 = **GIỮ-MÁY-R11-SỬA-HÌNH** |
| **L3** host | **KHỚP-MỘT-PHẦN** — 2 lệch nặng (**grid 300→260** · **`<lg` ngõ cụt không tạo được phiếu**) · 3 lệch vừa · 3 mục CHỐT-KHÔNG-SỬA |
| **L4** cây | **SHIP-SPEC-READY** — O2 + O6 đều thi-hành-được, 6 host đã liệt kê ảnh hưởng |
| **L5** nội-dung | **AUDIT-DONE** — O3 = **N-ROW 0-migration** · O4 = **FE-ONLY 0-BE** · 6 P0 + 8 P1 + 3 P2 |

## Lead refute — 2 claim nặng nhất, tự đo lại

| claim của lane | lead đo lại | kết |
|---|---|---|
| O3 hạng-mục N-dòng **không cần migration** | `ContractSigningPlanLineConfiguration.cs:37-38` unique index **3 CỘT** `(PlanId, SupplierId, CatalogEntryId)` | ✅ lane ĐÚNG — lead từng báo owner "nặng nhất, cần migration", **SAI, đã đính chính** |
| KHKK tải file **401** | KHKK `:501` `<a href>` trần ⟂ PE `:331` `responseType:'blob'`; JWT chỉ gắn qua interceptor axios | ✅ lane ĐÚNG — **lỗi thật**, không phải style |

## 3 phát hiện owner KHÔNG nêu mà nặng hơn phần lớn danh sách owner nêu

1. **X1** — nút tải file KHKK **401, không chạy**.
2. **X2** — vỏ `card-accent` bọc panel KHKK ⟂ PE panel trần ⇒ thứ làm 2 bên "nhìn khác hệ" **trước** mọi mục owner kê.
3. **X3** — màn Thao tác `<lg`: `<main hidden lg:block>` ⇒ **mobile không tạo được phiếu**. 🔴 **Regression do chính lead gây ra cùng phiên.**

## Đã LAND ngay (commit `a1b9cbb`)

Đợt A (3 lỗi thật) + 2 câu owner chốt: vá 401 · vá `<lg` ngõ cụt · trả nút duyệt mobile · gỡ `SoonChip` (**3 ca 3 cách**: đếm-được → in số · khoá-quyền → bỏ trắng · failed → giữ `—`) · gỡ nút Từ chối (chỉ gỡ đường bấm, **máy BE giữ nguyên**) · grid 260/320.

## Còn nợ

Đợt B (32 mục style) · đợt D (O6 · O3 · O4 · O7 · O8). Spec đầy đủ: `spec-khkk-style-dong-bo-05-08-2026.md`.

🔴 **KHÔNG lane nào có screenshot** — dev-rig chặn (chỉ `:8080` LISTENING · API `:5443` không có · trang sau `ProtectedRoute`, gotcha #3). Mọi kết luận là **đọc mã, KHÔNG phải đã nhìn**. Người land BẮT BUỘC soi **375 / 1366 / 1440** trên **prod sau deploy** trước khi tuyên PASS.
Thay cho mắt, lane dùng: đo class trên đĩa · `sha256sum` mirror · **tự tính tương-phản WCAG** — bắt được `slate-400` = **2.56:1** cho 6 dòng chữ mang thông tin.

## Bài giữ lại

🧪 **Luật C2 (ép ghi khung rỗng lượt 1-2 TRƯỚC khi đọc) có RĂNG THẬT** — run trước cùng khuôn **3/5 lane chết** cháy-lượt; run này **0/5**. Cùng model, cùng harness, khác **thứ tự ghi**.

END audit-synthesis — VERDICT=SPEC-READY · đợt A ĐÃ LAND (`a1b9cbb`) · đợt B+D còn nợ · 0 screenshot (khai thẳng)
