# Gist 2026-07 — implementer-backend (L2 distilled, ADDITIVE)

> 🔴 **ADDITIVE — KHÔNG đè `2026-07.md`** (verbatim gốc 2.826 B còn nguyên cạnh file này). Sinh @S162 closeout theo `harness-refine` A2 (shard thứ 16 chưa có twin, đưa đếm 16→15 = mốc owner `min_pending_shards`, **không đụng ngưỡng**). 4-field load-bearing giữ nguyên: đối-tượng · việc · bằng-chứng · bài-học.

## S134 (07-17) — PE lũy kế TẠM TÍNH (BE) · `wf_58302bd5-b9f` return sạch
- **Việc:** `+ComputePendingAsync` + `PePendingAccumulation` (`PeBudgetAccumulator.cs` pure-add **+68/0**) · `PePendingPriorPeDto` · `PeBudgetSummaryDto` append-cuối 5 field (2 site: `:946` frozen-defaults · `:985` live-fill) · D4 audit-note trong `ApplyBudgetSnapshotOnFinalizeAsync` với `Action=Update` **KHÔNG Transition** (#49 — tránh UI đọc 2 lần chuyển-phase), insertion-only **+30/0**, signature GIỮ ⇒ 5 call-site 0-diff.
- **Bằng chứng:** build slnx 0/0 · 0 mig · `ComputeAsync` body 0-diff.
- **Bài học (3):** ① **insertion-only diff** (`grep '^-'` = 0 real-removal) = bằng-chứng MẠNH NHẤT cho "thân method/call-site bất động" — mạnh hơn đọc-mắt, chống báo-số-sai kiểu #53 · ② derived-audit thêm vào helper **không cần đổi signature** nếu tính nội bộ từ field entity sẵn có ⇒ giữ call-site 0-diff · ③ accumulator namespace ≠ DTO namespace (`…Dtos`) ⇒ cần `using` tường minh dù **cùng project**.

## S133 (07-17) — PE budget-freeze (BE, Mig 67) · `wf_4bef08b8-730` **#53 return-fail → disk-truth + em-main-solo**
- **Việc:** lane sửa xong 6 file + `PeBudgetAccumulator.cs` mới (Domain 11 props `ApprovedBudget*` · Config precision/maxlength · DTO append `BudgetFrozen=false` **cuối** positional-record · display-gate frozen/live 2-nhánh trong `GetPurchaseEvaluationQuery` · helper `ApplyBudgetSnapshotOnFinalizeAsync` gọi **4 site** `:862/:901/:934/:1109` · 2 terminal-guard block-CẢ-Admin) **rồi CHẾT trước bước sinh migration** ⇒ em-main solo: Mig 67 sạch **11 AddColumn** (0 RenameColumn — #63) + backfill `Sql()` OUTER APPLY ×3 khớp accumulator **từng điều kiện** + apply 2 DB + filter test **44/44** (T0 RED→GREEN, không sửa test).
- **Bắt được nhờ apply thật:** Dev lòi **drift Mig 66 committed-chưa-apply-local** ⇒ catch-up luôn.
- **Bài học (3):** ① `TransitionAsync` **KHÔNG** SaveChanges nội bộ (`:537`) ⇒ snapshot flush qua SaveChanges của **caller** (mirror pattern ApprovedPrice) · ② khuôn backfill THẬT ở Mig 61/65 = **plain `Sql()`**, KHÔNG C# provider-guard (SQLite `EnsureCreated` không replay = guard kiến-trúc) · ③ Suppliers/Quotes là `BaseEntity` **không soft-delete** ⇒ SQL backfill **không** thêm `IsDeleted` trên `s`/`q`; `WorkItemId` null ⇒ 4 lũy kế NULL mirror helper nhưng `SnapshotAt` **vẫn set**.
- **Class #53:** WRITE-lane garble ≠ mất code — recover bằng disk-truth (git + build + test), entry ghi on-behalf.

Tag `[s162-distill, implementer-backend, 2026-07, insertion-only-proof, mig67-budget-freeze, 53-writelane-disk-recover]`
