Files
solution-erp/.claude/auto-memory/feedback_mechanism_right_data_absent.md
pqhuy1987 3b6fabc085 [CLAUDE] Docs: dong no so sach S155-S157 (CURRENT line + In Progress + session log + memory)
Dong CURRENT dung yen o S153 qua 3 cua-so trong khi S155/S156/S157 da chay va
da ship prod => drift dung lop ma lead-stale-auditor sinh ra de bat. Va:

- CURRENT line moi S155->S157 (phien-LOGIC L7, 4 cua-so): PE nut XOA ship prod
  Mig 68 2 dot + A2 dieu tra quy trinh sau-CEO (verdict LAI, chan Q1-Q6) +
  lo hong an ninh HD (anh chot 07-28 "cu tu tu" = treo CO CHU DICH) + S157 UAT
  Dia diem. S153 ha xuong muc da xong.
- Them §In Progress (S155->S157); §In Progress (S117) cu giu nguyen ben duoi.
- Session log 10.700B — con-tro tu dong CURRENT nay GIAI DUOC (verify 1 hit).
- Memory moi: lop "co-che dung, du-lieu khong co" nay x6 (S157 la lan 6, chieu
  MOI: bug do NGUOI DUNG bao ma fix ngay-tho se nhan doi code da dung). Luat rut
  ra: UAT bao "khong chay" => DO DU LIEU PROD truoc, dung doc/viet code.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-28 10:00:24 +07:00

3.3 KiB
Raw Blame History

name, description, metadata
name description metadata
feedback-mechanism-right-data-absent Lớp lỗi lặp ×6 ở SOLUTION_ERP — cơ-chế ĐÚNG nhưng thứ đi qua nó KHÔNG CÓ; UAT báo "không chạy" thì ĐO DỮ LIỆU trước, đừng đọc/viết code
node_type type originSessionId modified
memory feedback 85c4bae3-8755-487e-bb4b-d8d8c9135463 2026-07-28T02:57:02.204Z

"Cơ-chế đúng, thứ đi qua nó không có" — lớp lỗi đã nổ ×6 ở repo này. Khi anh/UAT báo "cái X không tự điền / không hiện / không bắt", phép đầu tiên là ĐO DỮ LIỆU PROD, không phải đọc code rồi suy, và tuyệt đối không phải viết code mới.

Why: đây là ĐẶC-TÍNH KIẾN-TRÚC, không phải xui: schema DÙNG CHUNG ⟂ service/seed RIÊNG per-loại ⇒ một cột thêm cho loại này mặc-định CÂM ở loại kia trừ khi có người nối; và cột có thật thì vẫn có thể rỗng data. Cả 6 ca đều build sạch + test xanh — không có tín-hiệu máy nào kêu. Nguy nhất: viết code auto-fill "mới" khi code cũ đã đúng và đang chạy ⇒ tốn công, đẻ trùng-lặp, mà triệu-chứng y nguyên vì bảng vẫn rỗng.

6 ca (ca 6 = chiều MỚI: bug do NGƯỜI DÙNG báo, fix ngây-thơ sẽ nhân đôi code đã đúng):

  1. policy tồn tại / 11-trên-13 vai CanDelete=0
  2. endpoint PUT sống / 0 dây FE gọi
  3. policy chặn đúng approver cần dùng
  4. DTO thiếu field FE đang đọc
  5. PMH role Procurement bị 403 ở b.13/b.17 (cơ-chế phân quyền đúng, vai đi qua không có quyền)
  6. @S157 PE "Địa điểm không tự lấy" — auto-fill Project.Location đã wire từ S59 và chạy đúng cả 4 tầng (DB cột → ProjectFeatures.cs:51 projection → FE type → onChange SearchableSelect); ô trống vì prod 57/62 dự án Location = NULL (chỉ 5 dự án có địa chỉ — đúng 5 dòng có địa chỉ trong Excel nhập S55).

How to apply:

  • UAT báo "không chạy" ⇒ sqlcmd đếm dữ liệu prod TRƯỚC (SELECT COUNT(*), SUM(CASE WHEN <col> IS NULL...)). Một câu query rẻ hơn một vòng đọc code + một lần sửa nhầm.
  • Rồi mới truy dây theo tầng: DB cột → DTO projection → FE type → chỗ tiêu-thụ. Đủ 4 tầng mới kết luận "wire hỏng".
  • Data rỗng ⇒ KHÔNG sửa cơ-chế. Hỏi owner nguồn dữ liệu; hướng anh chọn @S157 là "để người dùng tự cập nhật Master data, cái nào không có thì không fill" (không backfill hàng loạt).
  • Vá đúng cho ca data-rỗng = lộ LÝ DO tại chỗ (dòng cảnh báo trỏ nơi bổ sung), vì ô trống im lặng làm người dùng tưởng hệ-thống hỏng → đẻ báo lỗi giả. Xem feedback-absence-looks-like-clean.
  • Báo lại cho anh phải nói thẳng "cơ-chế không hỏng, thiếu dữ-liệu" — đừng để anh tưởng vừa được sửa bug.

Liên quan: feedback-root-cause-over-symptom (truy gốc thay vì vá triệu-chứng) · feedback-permission-grant-two-layers (cùng họ: 2 tầng độc-lập, tầng này đúng không suy ra tầng kia) · feedback-cardinality-change-grep-consumers (write-site đúng, read-site sót).