1.9 KiB
1.9 KiB
IMPLBE-K4A: IN-PROGRESS
Lane BE K4a — 49 row menu KHKK 8-nhóm + MenuKeys.All + labelBackfill + grant
Bắt đầu: 2026-08-01. 0-migration. Scope: MenuKeys.cs + DbInitializer.cs ONLY.
Nhật ký từng bước (append sau MỖI file sửa xong)
- B0 artifact tạo (dòng này = bằng chứng file ra đời TRƯỚC mọi Read)
- B1 đọc spec pin 2 file + re-ground anchor THẬT (đo lại, không tin số spec):
DbInitializer.cskhối menu KHKK G1::1950-1963(root:1951+Khkk_G1 :1956+ 6 leaf:1958-1963) — icon groupFileCheck, leafNetwork/List/Plus/CheckCircle2/CheckCheck/Trash2, Order 1-6 ✔ khớp brief- upsert-block THẬT (trước khi tôi sửa):
existingItems:2111→ foreach:2114-2131; nhánh key-đã-tồn-tại chỉ re-set Order rồicontinue=:2116-2128 - labelBackfill dict
:2141-2183· apply-loop:2184-2198✔ - 2 comment stale tự-trỏ
":1893-1905"::2095và:2149✔ (số THẬT sẽ đo LẠI sau khi thêm 49 row) - site-1
SeedAdminPermissionsAsyncloopMenuKeys.All:2246(chỉ Admin) · site-2KhkkKeys():2373-2377(feedreviewKeys :2398-2412, CanRead mọi role, skip-existing) · site-3SeedKeHoachKyKetAccessAsync:2603· site-4 revoker gọi:2285, prefixHrm*/Off*/Personal:2487-2488→ 0 matchKhkk(đã soi trực tiếp, đúng vá-11) MenuKeys.Allhiện đếm tay = 64 (khớp mốc brief) — số THẬT sẽ đo bằng runtime ở B6GetMyMenuTreeQuery.cs:96HasAccess(n) = n.CanRead || n.Children.Any(HasAccess)⇒ group-key KHÔNG cần CanRead row của chính nó (vá-10 đúng: lý-do "group cần row để render" trong invest doc là SAI) — nhưng leaf thì CẦN- nhãn 8 nhóm đối chiếu nguồn
danh-muc-sp002-transcribe.md:22-29→ khớp 8/8 brief, N2 CÓ vế "phá dỡ" ✔
- B2
MenuKeys.cs+49 key vàoAll