[CLAUDE] Docs: S179 closeout — va doi STYLE 2 vong (C7 bat 2 MAJOR trong chinh ban va) + H24 9 FLAG + drift-audit thang
Some checks failed
Deploy SOLUTION_ERP / build-deploy (push) Has been cancelled

SUA-1..6b tron 6/6, acceptance C1-C6b 12/12. Vong-2 sua chinh vong-1 sau reviewer C7 (PASS-WITH-8, 3 MAJOR):
- Doi ba-cham -> hai-cham la REGRESSION co dieu-kien, KHONG phai cosmetic: chi tuong-duong khi origin/main
  con ancestor; cay phan-ky thi hai-cham liet ca file CHI CO tren origin/main (= DA PRODUCTION) vao "phan MOI".
  Thu pham that = git diff mu untracked. Sandbox 2 chieu CONFIRMED.
- git status --porcelain | cut -c4- de path RAC (rename in MOT dong "R old -> new"; path co dau cach bi quote).
  Sandbox: 2/2 MISS; thuoc moi 2/2 OK.
- Thuoc CHOT 4/4 site: { git diff --name-only origin/main...HEAD; git diff --name-only HEAD;
  git ls-files -o --exclude-standard; } | sort -u

Bai: chan-doan sai VAN pass acceptance — acceptance do HINH-DANG chuoi, khong do HANH-VI.

Lop mo-neo TU-VO-HIEU: con-tro so-dong tro vao CHINH tep chua no tu thoi moi lan sua dau tep
(112->118->121 trong 1 phien) => neo TEN, khong neo SO DONG. Ap cho index.css, gotchas.md, PipelineStageFolders.
Con-tro verbatim _mind doi ve commit DA PUSH (ee21056/d081681) — ban truoc tro 727a512 nam trong dai squash
=> tu de con-tro mo-coi.

H24 light-audit 9 FLAG, flush 8 o canonical: Mig 71->72 - Gotchas 86->87 - Tests 644->645 (chay that
dotnet test: 45 Domain + 600 Infra, 0 fail) - user-mem 59->60 - header S168->S179 - roster 23->26 (go han so
theo B1) - HANDOFF dong 4 slot (68)-(71) + E4.

"So noi doi theo huong BI QUAN" x3 ca/1 phien (4 slot - E4 - run.md S173) => leo thang lan 3 phai DO LAI TIEN-DE.

Kem: 2 NO vong-3 - 2 synthesis ORPHAN (run-chua-gom 2->0) - di-tru cua-so 6 vao _context - keo+ap 2 thu
loi-do-luong (BAC Lop 8 CO SO: mtime cum SE 0,7% vs hub 69%) - drift-audit thang PASS_WITH_FLAGS-8 (va 2, con 6)
- _mind 99,67%->84,2% - don 9 dir rong - archive-gate strike 1/2.

#53: 4/4 vai garble return dau, vot tron 4/4 bang resume-in-session. Mat 0 byte.

0 file code nghiep-vu. Build 2/2 app PASS. Test 645/645.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
pqhuy1987
2026-08-07 12:25:55 +07:00
parent 65f73a96c9
commit 57e672f71f
37 changed files with 621 additions and 241 deletions

View File

@ -435,7 +435,7 @@ export function KhkkDetailContent({
return (
// [S175 — anh: "Viền xanh này trong thao tác" → rồi "ý tao bỏ cái viền xanh thôi, còn bộ
// khung table thuần vẫn nên giữ lại"] `.card-accent` (`index.css:112`) gói **HAI thứ**:
// khung table thuần vẫn nên giữ lại"] `.card-accent` (`index.css:118`) gói **HAI thứ**:
// ① KHUNG thẻ — bo góc 0.75rem + viền 1px `#e9eef4` + nền trắng + đổ bóng → anh GIỮ
// ② DẢI ACCENT DỌC 3px bên trái (`border-left`) → anh BỎ
// 🔴 Lượt trước lead gỡ CẢ CLASS ⇒ mất luôn ①, panel trôi không khung. Nay dựng lại ①

View File

@ -274,8 +274,11 @@ export function KhkkWorkflowPanel({
return (
// [S175 · B1 · X2] Panel TRẦN khuôn PE (`PeWorkflowPanel.tsx:345`). Trước đây bọc
// `card-accent` ⇒ thẻ-trong-thẻ, lệch đập vào mắt trước mọi mục owner liệt kê.
// 🔴 GỠ HẲN CLASS, KHÔNG đè `border-0`/`shadow-none`: `.card-accent` (`index.css:112`)
// nằm NGOÀI `@layer` nên thắng utility Tailwind v4 — đè là vô hiệu (gotcha #66, đã cắn thật).
// 🔴 GỠ HẲN CLASS, KHÔNG đè `border-0`/`shadow-none`: `.card-accent` (`index.css:118`)
// nằm NGOÀI `@layer` nên thắng utility Tailwind v4 THƯỜNG ⇒ đè kiểu đó vô hiệu (gotcha #66).
// 🔸 Chính-xác hoá @S179 (bản cũ viết "đè là vô hiệu" — OVERCLAIM): `!important` VẪN thắng
// (`text-white!`) — đó đúng là fix mà #66 tự đề-xuất. Ở ĐÂY vẫn GỠ CLASS chứ không dùng
// `!important`, vì lý do THIẾT-KẾ (thẻ-trong-thẻ là sai hình), không phải vì bất-khả-thi.
<div className="space-y-4">
{/* ── 1. Header + meta {code} v{NN} · {name} ───────────────────────────── */}
<div>

View File

@ -34,7 +34,9 @@ const STAGE_ICON: Record<PipelineStageNo, typeof ClipboardCheck> = {
}
// Pattern 14 (Tailwind JIT): class dạng LITERAL đầy đủ, không nội suy mảnh.
// Palette `@theme` (index.css:29-51) chỉ có stop 50/100/500/600/700 cho teal /
// Palette `@theme` (index.css, khối `ACCENT PALETTE` — neo theo TÊN, KHÔNG theo số dòng:
// `grep -n 'ACCENT PALETTE' fe-admin/src/index.css`; số dòng cũ ":29-51" đã thối 2 lần @S179)
// chỉ có stop 50/100/500/600/700 cho teal /
// violet / amberx ⇒ head dùng -700 (riêng brand có tới -900).
const STAGE_STYLE: Record<PipelineStageNo, { chip: string; head: string; count: string; code: string }> = {
1: { chip: 'bg-brand-50 text-brand-600', head: 'text-brand-800', count: 'bg-brand-50 text-brand-700', code: 'text-brand-700' },

View File

@ -257,8 +257,10 @@ export function PipelineTreePanel({
// ngoài" — `hideHeader` = đang NHÚNG trong panel khác ⇒ bỏ vỏ card + sticky để liền
// mạch với host, y như cây bên Duyệt NCC.
// 🔴 KHÔNG vá bằng cách truyền `border-0 shadow-none`: `.card-accent` khai ở
// `index.css:112` NẰM NGOÀI `@layer` nên THẮNG utility của Tailwind v4 (gotcha #66)
// `index.css:118` NẰM NGOÀI `@layer` nên THẮNG utility THƯỜNG của Tailwind v4 (gotcha #66)
// ⇒ cách đó bị vô hiệu IM LẶNG (đúng thứ vừa xảy ra). Phải GỠ CLASS, không đè.
// 🔸 Chính-xác hoá @S179: chỉ utility THƯỜNG mới thua; `!important` (`text-white!`) VẪN
// thắng — chính là fix #66 đề-xuất. Ở đây gỡ class vì THIẾT-KẾ, không phải vì bất-khả-thi.
!hideHeader && 'card-accent lg:sticky lg:top-4',
className,
)}

View File

@ -1,3 +1,13 @@
/* 🔴 File MIRROR — `fe-admin/src/index.css` ⟂ `fe-user/src/index.css` phải SHA256 IDENTICAL.
Sửa 1 bên PHẢI copy sang bên kia. Đo: `sha256sum fe-admin/src/index.css fe-user/src/index.css`.
Vì sao phải TỰ KHAI: luật mirror của `front-end-reviewer-style` §2 CHỈ soi file TỰ KHAI là mirror.
2 tệp này khớp byte từ lâu nhưng KHÔNG khai ⇒ vai style KHÔNG gác ⇒ lệch một bên là trôi IM LẶNG.
Khai @S179 — NỢ vòng-3 ① "khung thẻ 2 nguồn sự-thật" (`.card-accent` sống ở cả 2 app).
🔴 CỐ Ý KHÔNG ghi SỐ DÒNG ở đây. Bản đầu @S179 ghi ":112" rồi chính 6 dòng header này đẩy nó
thành 118; vá thành ":118" thì 3 dòng vá lại đẩy tiếp thành 121 — **mỏ-neo số-dòng trỏ vào
CHÍNH tệp chứa nó thì tự vô-hiệu mỗi lần sửa đầu tệp**. Neo đúng = TÊN SELECTOR:
`grep -n '^\.card-accent {' fe-admin/src/index.css`. */
@import "tailwindcss";
@import url("https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap");