4.3 KiB
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 diragent-memory/<vai>/suốt từ đó ⇒ vô hình với mọi máy đo (measure-agent-memory.ps1enumerate DIRECTORY rồi mới đọcMEMORY.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 diffmọ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__.csuntracked → 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ằnggrep -i 'Persistence/'chứ không phải pathspec-- '*Persistence*', vìgit status --porcelainkhông nhận pathspec củagit 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/mainlà 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òngCẤM origin/main...HEADtrong 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/**(EFConfiguration+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: schemadbosingle · table PascalCase tiếng Anh · PKId(Guid) · FK{Entity}Id· auditCreatedAt/UpdatedAt/CreatedBy/UpdatedBy· soft-deleteIsDeleted/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]
- S182 (lead-seed, C2 /pause): registry-probe BƯỚC 0.6b — spawn THẬT lần đầu sau restart, trả
ALIVE|database-reviewer-style0-tool đúng lệnh (tool_uses=0 khác #53 vì không bịa việc). Slot (73) đóng 5/5. →runs/2026-08-07-S182-bookend-open/spawn-probe-registry.md