From d95bb0e21016f6828182171cf0a5db27f1e49d13 Mon Sep 17 00:00:00 2001 From: pqhuy1987 Date: Sun, 12 Jul 2026 14:42:00 +0700 Subject: [PATCH] wal: flush 20260712T1442 --- .../spec-pe-signoff-implement-12-07-2026.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.claude/workflows/runs/2026-07-12-S112-pe-signoff-close-review/spec-pe-signoff-implement-12-07-2026.md b/.claude/workflows/runs/2026-07-12-S112-pe-signoff-close-review/spec-pe-signoff-implement-12-07-2026.md index 5a4587b..e9a2629 100644 --- a/.claude/workflows/runs/2026-07-12-S112-pe-signoff-close-review/spec-pe-signoff-implement-12-07-2026.md +++ b/.claude/workflows/runs/2026-07-12-S112-pe-signoff-close-review/spec-pe-signoff-implement-12-07-2026.md @@ -4,6 +4,7 @@ ## ① Đề-bài — 6 decision anh Kiệt ĐÃ CHỐT (lock) 1. **A1** — sửa `ApplyDrafterBypassOnSubmitAsync` (SVC:571-681): bypass CHỈ NV *cấp dưới* creator (order < drafterSlots.Min); creator KÝ TAY ô cấp mình (comment thật, SignedByUserId=creator). Giữ skip-NV-dưới của S60. Creator Cấp-1 → 0 subordinate → pointer đứng (0,1) creator tự ký. + - 🔴 **anh Kiệt CONFIRM S112 (sau giải-thích-kỹ):** đúng hướng, **"BÁM ĐÚNG QUY TRÌNH ĐÃ ĂN"** = thay-đổi TỐI-THIỂU, **KHÔNG chế skip-logic mới**, không refactor engine — chỉ gate cái bypass. Cấp KHÔNG-liền-nhau (vd creator Cấp-1 + Cấp-3, Cấp-2 người khác) → creator ký ô mình TỪNG cấp, người-khác cấp-giữa ký **BÌNH THƯỜNG theo workflow** (không skip). Non-contiguous open-Q = **RESOLVED** (follow-workflow, chỉ bypass thuần NV order < creator-min-level). 2. **Không guard cứng self-approve** — "cấp chỉ 1 người → tạo và duyệt luôn được". Creator duyệt cấp single-person của mình hợp lệ (KHÔNG thêm Forbidden guard B2). 3. **Fix EDGE-5 (hard-lock)** — DaDuyet (+ TuChoi) = terminal khóa cứng: guard `fromPhase∈{DaDuyet,TuChoi}→throw` ở reject-branch (SVC:92) + `EnsureCanRejectV2Async` early-return `:321` + handler `FEAT:510-539` + controller. "Đã duyệt rồi là cứng không trả lại hay thao tác gì được." 4. **1 nút** (save=advance) — giữ nguyên, không tách.