5.0 KiB
Archive 2026-08 — implementer-backend (L2, moved-not-cut từ L1 @S187 curate)
Verbatim entries dời khỏi MEMORY.md L1 khi hook read-limit-guard bắn (@23.7KB / cap 24.4KB). KHÔNG nén — nguyên văn. Mới→cũ.
-
S171 (2026-08-04) lane BE —
7/7 mục, build PASS, return SẠCH[LEAD HARVEST HOI-TO @S172 — no mo tu closeout truoc; owner slot (71) chot 'gom va sleep thi auto, tu quyet'. Nguon = artifact tren dia, KHONG suy dien]; nguồnruns/2026-08-04-S171-khkk-ui-mirror-pe/sub-implementer-backend-s171.md11.650 B: BE-1 DetailDto +5 field · BE-1bFinalizeStepName/FinalizeLevelNameDẪN XUẤT 3-ngả in-memory thay 3 subquery (+ sửa công thức con-trỏ cho đúng KHKK) · BE-2ContractSigningPlanApprovalDtođẻ mới + projection · BE-3 tên người duyệt joinUsers— đường THỨ BA (2 đường kia không dùng được, lý do §2) · BE-4WorkflowStepDto+DepartmentName· BE-5 endpoint changelogs policyKeHoachKyKet.Read+ ràoEnsureCanViewAsync· BE-6 map Cấp cho Approvals · BE-7 enum+ApprovalAttachment=3+ endpoint upload riêng (policyUpdate). Mirrortypes/khkk.ts×2 app SHA256 trùng khít;dotnet build0 warning/0 error +tsc -b×2 exit 0. 🔴 Tự khai 3 chỗ lệch-có-lý-do + treo B-3 vì DB dev 0 phiếu — nấc trung thực đúng: làm được thì khai làm được, không đo được thì khai treo, KHÔNG nhét acceptance runtime vào ô đã-xong. ⚠️ Hệ quả @S172: chínhApprovalAttachment+ policyUpdateđẻ ra câu hỏi owner slot (67) — người SOẠN cũng qua đượcKeHoachKyKet.Update. Tag[s171, be-7-7-build-pass, dan-xuat-thay-subquery, duong-thu-ba-join-users, treo-b3-trung-thuc] -
S167 (08-01) lane K7 — cầu KHKK→HĐ BE + 5 vá
[artifact sub-implbe-k7.md; return-1 garble #53 → lead SendMessage-resume, xong solo]: Bài lớn nhất = BÁC TIỀN ĐỀ ĐỀ BÀI bằng 4 phép đo trước khi gõ: lead nói "bridge ĐÃ TỒN TẠI (W6-S161), mày chỉ vá quanh nó" — đĩa nói KHÔNG (grep create-contract1 hit duy nhất = bridge PE cũ · 0 file · 0 endpoint · 0 write-siteLine.ContractId). Cái tồn tại @W6 là đường-ống HĐ V2, không phải cầu ⇒ lead nhập nhằng "đường ống đã vá"≠"bridge có". Phép thử rẻ phân biệt: vá-6 ("nạp Project.Code/Supplier.Code theo khuôn bridge-cũ") là no-op nếu áp lên bridge cũ (nó ĐÃ có 2 dòng đó) ⇒ vá chỉ có nghĩa với vật CHƯA có ⇒ suy ngược ra vật thiếu. Xử: DỰNG bridge theo spec invest §K7.1 đã pin sẵn (0 quyết-định-mới của tôi) + nhúng 5 vá, KHAI RÕ chệch-khuôn + trỏ dòng spec — lead nhận. Khi spec vá ⊥ nền invest (WorkflowDefinitionIdnull vs pin) → vá THẮNG (spec:4viết luật đó). Cột đã có từ mig cũ ⇒ 0-mig.??=giữ CHIỀU: cầu chạy sau không cướp ô của cầu trước. Thêm field vào projection dùng-chung-3-endpoint → chạy test filter rẻ ngay (collection-subquery SQLite dịch được: 34/35). 1 fail = reflection-authz test bắt mọi action phải cùng key module, mà vá-1 cố ý gate key MODULE KHÁC (Contracts.Create, #85) ⇒ verified-fail bàn giao test-lane, KHÔNG tự sửa (S112 khuôn). Tag[s167, k7-bridge-khkk-hd, bac-tien-de-4-phep-do, va-noop-suy-nguoc-vat-thieu, spec-thang-nen, 0-mig, verified-fail-handoff] -
S166 (08-01) lane K4a — 49 row menu KHKK 8-nhóm, DONE B0-B5
[LEAD SEED ON-BEHALF TẠI-CỬA — mày #53 sau B5 ("Now the site-4 revoker comment" trong khi comment ĐÃ land — return tụt sau đĩa 1 nhịp); B6 + END lead đóng; nguồn: sub-implbe-k4a.md + git diff]: Nghề mới ăn tiền: BỘ-SINH thay 49 const tay —KhkkGroupNumbers[7] × (KhkkGroup + 6 KhkkLeafActions)→KhkkGroupMenuKeyslàm NGUỒN CHUNG 3 phía (spread..vàoAll· vòng seed tree.Add · site-2.Concat) ⇒ khớp by-construction, 0 mirror tay 147 chuỗi (đúng loại drift nổ FK Permission T6-K1); chệch-khuôn-so-brief KHAI RÕ + trỏ đề xuất gốc invest:9⇒ lead chấp nhận không mất lượt. Anchor re-ground TRƯỚC khi sửa (số spec trượt vì DbInitializer phình sau K2/K3): dict labelBackfill:2141-2183· upsert THẬT:2162-2179(vá 2 comment stale "1893" bằng mỏ-neo GREPexistingItems.TryGetValuethay số-dòng-trần — số dòng sẽ trượt tiếp, mỏ neo thì không). Vá-10 sửa LÝ-DO comment (group-key KHÔNG cần CanRead row — HasAccess đệ-quy theo con:96; invest doc viết sai lý-do, kết luận giữ-3-site vẫn đúng). labelBackfillKhkk_G1đổi-nhãn-không-nhân-row + fail-fast KeyNotFound khi thiếu nhãn (thà nổ lúc seed còn hơn FK nổ về sau). Suite 614/0 SAU diff (idempotent/revoke/permission-seed giữ xanh). Tag[s166, k4a-lane, bo-sinh-by-construction-3-phia, mo-neo-grep-thay-so-dong, fail-fast-luc-seed, return-tut-sau-dia-1-nhip, seed-on-behalf-tai-cua]