Files
solution-erp/.claude/agent-memory/back-end-reviewer-style/MEMORY.md
2026-08-12 22:55:48 +07:00

6.9 KiB
Raw Blame History

back-end-reviewer-style Agent — Persistent Memory

  • S187 (2026-08-10) 🔴 LƯỢT SPAWN RUNTIME ĐẦU TIÊN — nấc lật file-landspawn-probe ALIVE [LEAD SEED ON-BEHALF @/pause khi mày ĐANG CHẠY — verdict PENDING, đọc đĩa khi nối]: anh chỉ định /fable-real review lại style trong YC-023 ⇒ lead gán mày (persona mang luật "ĐÃ DEPLOY = CHUẨN", BE nặng nhất) — spawn subagent_type=back-end-reviewer-style, model=fable THÀNH CÔNG lúc ~15:47: registry PHIÊN NÀY đã nạp mày (vế "cần restart CLI" của slot (73) thoả với phiên mới — 2 dòng seed S179 dưới khai "spawn-probe CHƯA CÓ" nay HẾT HIỆU LỰC vế đó, giữ làm lineage). Đề bài: style-review 2 bản invest module Duyệt-HĐ GĐ3 (runs/2026-08-10-S187-duyet-hd-tu-khkk/sub-invest-{be,fe}-fable.md). VỀ CLEAN @16:0x ngay trong lúc /pause: STYLE-REVIEW: PASS_WITH_FLAGS — 7 flag, thân sub-style-review-fable.md == HẾT ==, return chuẩn 0-garble (khác 2 con invest). Nặng nhất: FLAG-1 mâu-thuẫn 2-lens phân xử BẰNG CODE (FE mang tiền-đề S156 "inbox legacy", đĩa ContractFeatures.cs:530-593 V2-aware ⇒ F3 hạ verify-only — đúng nghề "đối chiếu CODE THẬT thay vì tin chữ") · FLAG-2 wave MỒ CÔI (FE F1/F2 khai BE-blocker DTO mà wave-list BE không có wave DTO — lỗ ghép 2 lens chỉ lộ khi đọc CHÉO) · FLAG-4 claim "0 key mới" vs khuôn KHKK deploy kèm 8 key AwV2_KhkkN*+32 policy (MenuKeys.cs:123-134) — đề "mirror hay bỏ phải quyết tường minh" · FLAG-3 FE cứng trục 7-type khi BE#1 treo trục · 5/6/7 nit (R-6 no-regex + comment :363 cùng edit · mã họ ASCII khớp validator :274-276 · gom 4 cửa pin về 1 nhà guard). Chấm §2d theo tiền-lệ: PA-A đúng khuôn V2-deploy nhất (điều kiện W1 gỡ 2 bom S182) · PA-B tổ-tiên chỉ ở V1 · PA-C khớp style nhưng không đạt YC-023 — KHÔNG quyết thay owner. Spot-check neo BE 9/9 + FE 4/4 khớp. Tag [s187, spawn-probe-alive-lan-dau, fable-real, pass-with-flags-7, phan-xu-2-lens-bang-code, wave-mo-coi]

  • 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; với MÀY đây là chuyện sống-chết hơn 2 con kia: trước S179 luật gọi mày neo vào git diff --name-only origin/main...HEAD. Mày là gate PRE-commit, mà git diff mọi dạng đều mù file chưa commit + untracked ⇒ thước rỗng đúng lúc cần gọi ⇒ 0 spawn, 0 SKIP-CO-KHAI, chết CÂM. Đo thật: cửa-sổ S178 có 12 file đúng địa-phận cả 3 vai mà 0 con được gọi. Thước mới (4/4 site): { git diff --name-only origin/main..HEAD; git status --porcelain | cut -c4-; } | sort -u 🔴 Vì sao đắt hơn ở mày: BE 0 máy style nào gác — 0 .editorconfig, 0 analyzer, 0 dotnet format --verify-no-changes trong CI (đo S176). FE còn có ESLint đỡ lớp cơ-học; mày không có gì cả. ⇒ thước mù nghĩa là KHÔNG CÒN LỚP NÀO soi file BE trước khi commit. 🔴 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 ⇒ merge-base = origin/main) ⇒ vế đổi dấu chấm KHÔNG sửa được 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/** TRỪ Persistence/** (EF config + migration = database-reviewer-style). Soi ĐỒNG-NHẤT STYLE + phân-tầng (.NET 10 Clean Arch: Api → Application ← Domain + Infrastructure → Application; CQRS + MediatR + FluentValidation + AutoMapper), KHÔNG soi logic/nghiệp-vụ (đó là reviewer) · KHÔNG soi thiết-kế schema (database-agent). Gộp trục clean-code TRONG địa phận — anh chốt 3 vai, bỏ con clean-code thứ 4 vì phủ chồng. 🔴 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". Repo auto-deploy main ⇒ mọi thứ còn trên origin/main = đã production = CHUẨN; việc của mày là đi tìm anh em ĐÃ CHẠY THẬT rồi đối chiếu, không tự nghĩ ra chuẩn mới.

Tag [s179, sinh-so-do-SUA-5a, chua-spawn-probe, 0-may-style-gac-BE, 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|back-end-reviewer-style 0-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

  • S190 (lead-seed, C2 /pause): B4 style-review BE (be2 sạch, be1 chết-non #53 → be2 phủ anchor chồng lấn 9/9). Đóng góp load-bearing: (1) style-list tự đánh nhau spec v2.1 — SB-13/14/18+C10/C13 còn đòi gắn policy sau khi spec đã bỏ ⇒ worker cầm 2 mệnh-lệnh ngược = ship regression; LẬT. (2) BS-3 đo SỐ THẬT LocalDB Contracts 12/13 role CanDelete=0 (Drafter=0), control KHKK Drafter=1 ⇒ chứng policy-403 khoá oan. (3) ca "V1-nháp-2" TRÙNG DangSoanThao(2) → thay phase-3 legacy. (4) ghost-wire comment ContractChangelog.cs:10-12 "AuditBehavior tự ghi" — file KHÔNG tồn tại, changelog GHI TAY. (5) 2 shape controller-authz song song CÓ CHỦ ĐÍCH (test khoá "không ép về 1 kiểu"). Bài: khuôn được-chỉ-mirror có thể THIẾU đúng nấc T-matrix đòi (KHKK owner-check :1763 thiếu null-guard → chép nguyên là bẫy T-9). Tag [s190, style-list-danh-nhau-spec, bs3-so-that, ghost-wire-comment, chep-nguyen-khuon-la-bay]