Files
solution-erp/.claude/agent-memory/database-reviewer-style/MEMORY.md
pqhuy1987 57e672f71f
Some checks failed
Deploy SOLUTION_ERP / build-deploy (push) Has been cancelled
[CLAUDE] Docs: S179 closeout — va doi STYLE 2 vong (C7 bat 2 MAJOR trong chinh ban va) + H24 9 FLAG + drift-audit thang
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>
2026-08-07 12:25:55 +07:00

4.0 KiB
Raw Blame History

database-reviewer-style Agent — Persistent Memory

  • S179 (2026-08-07) SINH SỔ — dir này ra đời do SỬA-5a, KHÔNG phải do mày chạy [LEAD SEED ON-BEHALF; mày CHƯA chạy lần nào — nguồn = đĩa + spec SỬA-6]: mày sinh @S176 (anh chốt đội STYLE 3 vai, lý do đo được: "mày cứ làm đi làm lại hoài"), nhưng 3/3 vai style thiếu dir agent-memory/<vai>/ suốt từ đó ⇒ vô hình với mọi máy đo (measure-agent-memory.ps1 enumerate DIRECTORY rồi mới đọc MEMORY.md; không dir thì không sinh dòng nào, và thiếu-vắng trông y hệt sạch). Vá @S179 = SỬA-5a. 🔴 Nấc THẬT: file-land, spawn-probe CHƯA CÓ — registry no-hot-reload, cần restart CLI (anh OK @S179 item-6). Đừng đọc dir này thành "đã chạy rồi".

  • S179 — SỬA-1 vá thước dispatch; MÀY là con THIỆT NẶNG NHẤT vì hình-dạng công-việc: trước S179 luật gọi mày neo vào git diff --name-only origin/main...HEAD -- '*Persistence*'. Mày là gate PRE-commit, mà git diff mọi dạng đều mù file chưa commit + untracked. 🔴 Vì sao chí mạng với riêng mày: một migration mới sinh ra là 3 file UNTRACKED (Migration + Designer + ModelSnapshot) — tức đúng cái dạng thước cũ mù 100%. ⇒ thước cũ nghĩa là 3-file-rule KHÔNG BAO GIỜ được soi trước khi commit, mà migration đã apply prod thì không rút lại được: bảng/cột đặt lệch quy-ước sẽ sống mãi và mọi thứ sau phải sống chung với nó. Fault-inject @S179 chứng thẳng: thả Persistence/Migrations/__probe_mig__.cs untracked → thước cũ 0 hit, thước mới bắt; dọn probe → mới im. Thước mới: { git diff --name-only origin/main..HEAD; git status --porcelain | cut -c4-; } | sort -u | grep -i 'Persistence/' 🔸 Lọc bằng grep -i 'Persistence/' chứ không phải pathspec -- '*Persistence*', vì git status --porcelain không nhận pathspec của git diff. 🔴 Bài học NGƯỢC ĐƠN THUỐC: đơn cũ ghi "đổi ba-chấm → hai-chấm porcelain". Đo @S179: hai-chấm và ba-chấm cho md5 Y HỆT (origin/main là ancestor của HEAD) ⇒ vế đổi dấu chấm KHÔNG sửa gì; răng nằm TRỌN ở vế porcelain. Chỉ swap dấu chấm thì thước nghiệm-thu vẫn xanh mà đội vẫn mù nguyên = Goodhart. 🔴 Citation-trap: dòng CẤM origin/main...HEAD trong persona chứa chính mẫu bị cấm ⇒ thước cũ đọc thành dương-giả. Thước đúng phân biệt use ⟂ mention: grep -rn 'git diff [^|]*origin/main\.\.\.HEAD' → 0.

  • Địa-phận + ranh (từ persona, ghi lại để khỏi drift): ĐÓNG = src/Backend/SolutionErp.Infrastructure/Persistence/** (EF Configuration + Migrations) + tên bảng/cột/index/FK. Soi ĐỒNG-NHẤT QUY-ƯỚC ĐẶT TÊN + hình-dạng migration, KHÔNG soi thiết-kế schema đúng/sai (FK strategy · index perf · concurrency = database-agent) · KHÔNG soi logic (reviewer). Trục ĐẮT NHẤT = 3-file rule (Migration + Designer + ModelSnapshot) — thiếu 1 file là hỏng prod, và đây là lỗi HÌNH-DẠNG nên đúng việc của mày. 🔴 LUẬT LÕI anh giao: "các tính năng đã deploy thành production rồi thì sẽ là chuẩn, trừ khi tao có điều chỉnh lại lần nữa" — ở tầng DB luật này mạnh hơn mọi tầng khác vì migration đã apply prod thì không rút lại được. 🔸 Quy-ước để đối chiếu: schema dbo single · table PascalCase tiếng Anh · PK Id (Guid) · FK {Entity}Id · audit CreatedAt/UpdatedAt/CreatedBy/UpdatedBy · soft-delete IsDeleted/DeletedAt/DeletedBy.

Tag [s179, sinh-so-do-SUA-5a, chua-spawn-probe, migration-la-3-file-untracked, 3-file-rule, nguoc-don-thuoc-2cham-vo-dung, citation-trap-use-mention]