[CLAUDE] Docs: YC-024 — 9 đáp án (80)-(88) vào sổ yêu-cầu + HANDOFF lật khối + (73) đóng; spec đợt-1 AC-W7/F-3
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 9m44s
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 9m44s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@ -3,11 +3,31 @@
|
||||
> **Tiering rule (S40):** giữ **2-3 session gần nhất**. Cũ hơn → `docs/changelog/sessions/`. Full brief history pre-S40 → `docs/_archive/HANDOFF-preS40-fullhistory.md`.
|
||||
|
||||
**🆕 Last updated:** 2026-08-10 (**S182→S185 ĐÓNG** — phiên-LOGIC **L13** windows 1-4, closeout ONE-SHOT lượt đầu; nhãn cũ "S180→S181/L12" giữ ở segment dưới). **YC-013 KHKK 8-panel SHIP+verify · YC-016 guard tay-cầm-phiếu SHIP+verify · YC-017 pipeline email/adap TRỌN (0/39 nợ per-id) · YC-018 ONE-SHOT bookend land 4 site · bookend @close MỘT MẠCH 9 vai** (trio 40Đ/4T · H24 deep 16 FLAG · ring1 30Đ/3T · ring2 16Đ/0T · ctx-audit 8 FLAG · harvest 698KB→17 khối/11 sổ). Adap-report 08-08: `docs/governance/adap-reports/2026-08-08-Governance-quy-trinh-hai-dau-phien-may-diem-danh-va-6-bai-hoc.md` (F-4 vá: trỏ bền tại đây).
|
||||
> 🔢 **CHỜ ANH @S185 closeout — CHỈ CÒN 2 VIỆC VẬT-LÝ:** **(73)** restart CLI *(giờ chỉ phục vụ 3 vai STYLE — `ring5-audit` + `/day` đã tự sống nhờ hot-reload file-MỚI)* · **(74)** rotate mật khẩu prod `vrapp` *(treo từ S153 — em không đụng credential)*. Mọi câu governance khác anh ĐÃ PHÁN HẾT trong phiên: **YC-019 (6) + YC-020 (5) + YC-021 (4) + YC-022 (1) = 16 phán quyết, 0 câu treo**.
|
||||
> 🔢 **CHỜ ANH @S185 closeout — CHỈ CÒN 1 VIỆC VẬT-LÝ (@S188 lật (73), trước ghi 2):** ~~(73) restart CLI~~ *(✅ ĐÓNG @S188 — vế restart ĐÃ THOẢ bằng đo: spawn-probe `back-end-reviewer-style` ×fable ALIVE 15:47 @S187, registry phiên-CLI-mới tự nạp; chi tiết khối (73) dưới)* · **(74)** rotate mật khẩu prod `vrapp` *(treo từ S153 — em không đụng credential)*. Mọi câu governance khác anh ĐÃ PHÁN HẾT trong phiên: **YC-019 (6) + YC-020 (5) + YC-021 (4) + YC-022 (1) = 16 phán quyết, 0 câu treo**.
|
||||
> 🔵 **NEXT-em @S185 (tự chạy, không cần anh):** 3 over-cap còn (`reviewer` 31.341 vừa-harvest-để-lắng · `harvest-curator` 28.071 · `ctx-audit` 26.695 — xử theo E4 "bệnh TỐC-ĐỘ, không phải MỨC") · **C-1 W3b chờ rider-jump được DỰNG** (nợ-chưa-có-chủ F-L2-2) · E1 `-Detail` đã cắm ⇒ closeout kế có TÊN mục MISS để reinject · 3 món thiết-kế ctx (nhịp-refresh-`_mind` vào CHỮ · `LEAD-PHAI-NHAC-LAI` 0-hit · trần đối-chứng 36,7%) · `/day` gõ-thật lần dậy sạch tới + self-check ca-3/4/5 thư hub.
|
||||
|
||||
---
|
||||
|
||||
### 🔴 CHỜ ANH @S188 — YC-023 Duyệt Hợp đồng GĐ3: 9 câu ĐÁNH SỐ **(80)-(88)**, trả lời bằng số
|
||||
|
||||
> Nguồn: hợp nhất 12 nhãn CHỜ-ANH của 2 invest ×Fable (BE#1-7 + FE#1-5; BE#5≡FE#2+FE#5 gộp vào (82), FE#4→(82b)) — STAGE C `runs/2026-08-10-S187-duyet-hd-tu-khkk/sub-plan-review-fable.md §8` (chân lý) + plan 11 wave `§7` + spec `spec-duyet-hd-10-08-2026.md`. **Tối thiểu mở khoá đường tới hạn: (80)+(81)+(83).** 3 wave KHÔNG chặn (W1 gỡ-bom · W2 BE-DTO · W7 server-filter) em fan-out trước theo lệnh YC-023, từng wave qua gate.
|
||||
|
||||
> ✅ **TRẢ LỜI 9/9 @S188 CÙNG NGÀY — nguyên văn → sổ yêu-cầu `YC-024`.** Hệ quả plan: **(80)** 7-LOẠI · **(81)** PA-A + xác nhận chuỗi PE→KHKK→HĐ · **(82)** MỞ TẤT CẢ trước ⇒ **W8-authz HOÃN** tới khi anh nói "ổn rồi" *(đội hiểu bậc-2 — anh bác thì sửa)* · **(83)** W3 seed roster **sao khuôn KHKK**, anh tự chỉnh Admin sau ⇒ **HẾT chặn cứng** · **(84)** 2 nút · **(85)** giữ ẩn ⇒ **W9 HỦY** · **(86)** khoá cứng không đổi tay · **(87)** không cột gợi-ý, user tự chọn loại · **(88)** ruột HĐ pre-fill từ dữ-liệu đã nhập + khuôn form Word sẵn (forms-spec), thiếu thì điền bổ sung → vào W5/W6. **Đường tới hạn MỞ HẾT: W3→W4→W6→W10.** Câu hỏi gốc giữ dưới làm vết:
|
||||
|
||||
**(80) Quy trình duyệt HĐ chia theo TRỤC nào?** 7 **loại HĐ** (Thầu phụ, Giao khoán, NCC, Dịch vụ, Mua bán, 2 Nguyên tắc — như menu 7 mục anh đang thấy) · 8 **nhóm duyệt N1-N8** kiểu SP-002/KHKK · lai (trạm theo nhóm + ký theo ngưỡng)? → đề xuất **7 loại** (khớp chữ YC-023 + menu đã dựng + `Contract.Type` sẵn = 0-mig; đổi sau được nhưng đắt ở seed/guard/menu). Chặn W3+W4.
|
||||
**(81) Cách gắn quy trình vào loại:** y hệt KHKK đang chạy (mỗi loại 1 mã quy trình riêng, 0 đổi DB — PA-A) hay thêm 1 cột thật (1 migration, "chuẩn" dài hạn — PA-B)? → đề xuất **PA-A** (khuôn đã qua UAT 8 đợt). Chặn W3+W4.
|
||||
**(82) Khoá quyền module HĐ tới mức nào?** Hiện MỌI user đăng nhập Từ-chối/Trả-lại được bất kỳ HĐ nào (lỗ S156 anh treo *"chỗ hợp đồng cứ từ từ"*) — nhưng YC-023 chính là mở màn duyệt cho người dùng thật. **Đ2** chỉ vá lỗ nguy hiểm (chặn Từ-chối sai lượt/sai vai) · **Đ1** khoá đủ ~24 endpoint như KHKK · **Đ3** = Đ1 + rà trọn 2 tầng menu/API. → đề xuất **Đ2 ngay trong wave màn-duyệt (W6) + Đ1 = wave riêng (W8) sau khi anh nhìn màn mới; menu giữ public 13/13 như anh đã chốt**. *(82b: có ai chỉ được duyệt MỘT loại HĐ không? Nếu không — giữ quyền chung `Contracts.*`, đỡ 1 tầng phức tạp.)* Chặn W8 + vế Đ2 của W6.
|
||||
**(83) 🔴 Roster người duyệt cho 7 quy trình HĐ** — loại nào đi qua NHỮNG AI, thứ tự trạm nào? **KHÔNG có default** (SP-002 chỉ có pattern ký nháy per-NHÓM, không suy ra per-loại được; KHKK trước đây sao từ QT-DN-V2-001 + email cứng). Cần bảng: **Loại HĐ → trạm 1..n → tên người**. **Chặn CỨNG W3** — seed chạy thẳng prod lần deploy đầu (#51), sai roster = sai trên prod.
|
||||
**(84) Bộ nút màn duyệt HĐ:** 2 nút **Duyệt / Trả lại** (khuôn KHKK — chính anh trim *"bỏ luôn từ chối"* @S174) hay 3 nút thêm **Từ chối** (khuôn Duyệt NCC)? → đề xuất **2 nút** (máy BE Reject vẫn còn nếu sau cần). Chặn dialog W6.
|
||||
**(85) Trang quản trị (admin) có cần THẤY menu GĐ3 không?** hay giữ như nay (admin ẩn cả 4 mục pipeline, nghiệp vụ bên eoffice)? → đề xuất **giữ ẩn** (posture KHKK; vào bằng URL vẫn được). Giữ ẩn = **HỦY W9, 0 công**.
|
||||
**(86) Dialog "Đưa vào HĐ":** máy tự chọn quy trình đúng loại — còn cho người bấm ĐỔI TAY sang quy trình khác không? → đề xuất **tự chọn + KHÔNG cho đổi chéo loại** (pin nhầm sửa ở phiếu Nháp qua cửa re-pin W4). Ảnh hưởng W4, không chặn cứng.
|
||||
**(87) Danh mục SP-002 thêm cột "gợi ý loại HĐ"** để dialog tự điền loại? → đề xuất **CHƯA** (giữ chọn tay; thêm sau = 1 migration nhỏ + cập nhật seed 86 dòng). Không chặn.
|
||||
**(88) Ruột HĐ ở GĐ3 có cần bảng hạng mục chi tiết** (khối lượng/đơn giá/thành tiền — phụ lục 3.5 SP-002) hay chỉ điều khoản + tổng giá trị như hiện trạng? → đề xuất **CHƯA** (GĐ3 "bàn điều khoản, không bàn hạng mục"; cần thì wave line-level mới sau). Không chặn.
|
||||
|
||||
> 🔸 **3 điểm KỸ THUẬT em tự quyết theo tiền lệ (khai để anh biết — bác thì 1 lệnh):** **T1** inbox "Đang duyệt" KHÔNG cần wave BE — code V2-aware sẵn từ S161 (`ContractFeatures.cs:530-593`), verify ở W10 · **T2** DTO màn duyệt theo khuôn **cây-thô KHKK** không phải cặp precompute PE (panel mirror tiêu thụ đúng shape KHKK — chọn PE là viết lại panel, hết "mirror") · **T3** sinh 7 key `AwV2_Hd*` trong nhánh PA-A (tiền lệ lệnh-lead K3-N1; hệ quả số: Menu keys 113→120 · Policies 452→480, 2 row canonical STATUS đổi cùng commit + test T2/T6 khoá).
|
||||
|
||||
---
|
||||
|
||||
### 🔴 CHỜ ANH @S186 bookend-open (2026-08-10) — ĐÁNH SỐ, trả lời bằng số
|
||||
|
||||
**(76) 🔴 Hai governor bộ-nhớ đang đo SAI ĐƠN-VỊ — anh chốt hướng xử.** Ngưỡng cắt runtime **đếm KÝ-TỰ**; `autoinject_cap_bytes` + `soft_cap_bytes` **đếm BYTE**. Tỉ số byte/char corpus VN đo tươi 29 vai = **1,0349–1,2285** (đổi theo nội-dung) ⇒ 🔴 **KHÔNG byte-cap cố-định nào đúng được**, đây không phải chuyện chỉnh số.
|
||||
@ -68,14 +88,14 @@
|
||||
| 3 | *"3 -> OK"* | chạy H24 light-audit dù OVERDUE 7/6 |
|
||||
| 4 | *"4 -> OK"* | kéo + áp 2 thư `loi-do-luong` |
|
||||
| 5 | *"5 -> OK"* | 🔴 lead **tự thu-hẹp** thành *"ghi-nhận, CHƯA phải lệnh đổi số"* ⇒ giữ `hmw_width.cap`=20. **Diễn-giải của lead, không phải chữ của anh** — nếu anh ý là "nâng đi" thì nói lại, đừng để lead phán hộ |
|
||||
| 6 | *"6 -> OK"* | restart CLI cho spawn-probe 3 vai style — **chưa thực hiện**, xem (73) |
|
||||
| 6 | *"6 -> OK"* | restart CLI cho spawn-probe vai style — ✅ **hết cần @S188** (probe `back-end-reviewer-style` ALIVE @S187; 2 vai còn lại probe khi có việc FE/DB — xem (73)) |
|
||||
| 7 | *"OK làm cho xong hết đi nhé"* | làm trọn 8 nhóm việc; 8 điểm còn nợ ghi ở NEXT-em @S179 |
|
||||
|
||||
🔴 **Ngoại-lệ item-1 phải có nhà ở guard, không chỉ ở đây:** `error-ledger.md` chứa `G-015` ×7 nhưng `ctx-curator` **0 hit** ⇒ ngoại-lệ owner **chưa tới nhà của chính guard đó** (`lead-gap` FLAG-4). → NEXT-em.
|
||||
|
||||
## 🔴 CHỜ ANH @S179 — ĐÁNH SỐ (trả lời bằng số)
|
||||
|
||||
**(73) 🔴 RESTART CLI để spawn-probe 3 vai STYLE** — chốt-chặn DUY NHẤT còn lại của đội STYLE. Registry = ảnh-chụp lúc khởi phiên, **KHÔNG hot-reload**; `ls` + grep `VALID_ROLES` chỉ là điều-kiện **CẦN**. Anh đã "OK" @S179 nhưng **chưa restart** ⇒ 3 vai vẫn `file-land`, chưa chạy lần nào. Bằng-chứng còn nợ: cửa-sổ S179 có **8 file `fe-*/src/**`** đúng địa-phận FE-style mà **0 con được gọi** (đã ghi `SKIP-CO-KHAI`, không im lặng).
|
||||
**~~(73) RESTART CLI để spawn-probe 3 vai STYLE~~ — ✅ ĐÓNG @S188, vế restart ĐÃ THOẢ BẰNG ĐO (ctx-verifier CỜ-4/CỜ-5).** Spawn-probe `back-end-reviewer-style` ×fable **ALIVE 15:47 @S187** (`_context-s-14.md` PAUSE-2(1)) ⇒ registry phiên-CLI-mới đã nạp — đúng cái slot này chờ, KHÔNG tiêu slot quyết của anh nữa. Kèm đính-chính Cờ-8 cũ: *"README liệt 5 vai STYLE"* = **dương-giả** — đếm phần-tử `agents/README:67-85` = 4 tên, `:82` tự khai `clean-code-reviewer-style` anh đã RÚT ⇒ đội STYLE **3 vai**, khớp đĩa `.claude/agents/*style*.md` = 3, khớp HANDOFF, **0 lệch**. Tồn dư = NEXT-em (KHÔNG cần anh): probe 2 vai `front-end-reviewer-style` + `database-reviewer-style` ở lượt review FE/DB kế. 🧊 thân cũ giữ làm vết: chốt-chặn DUY NHẤT còn lại của đội STYLE. Registry = ảnh-chụp lúc khởi phiên, **KHÔNG hot-reload**; `ls` + grep `VALID_ROLES` chỉ là điều-kiện **CẦN**. Anh đã "OK" @S179 nhưng **chưa restart** ⇒ 3 vai vẫn `file-land`, chưa chạy lần nào. Bằng-chứng còn nợ: cửa-sổ S179 có **8 file `fe-*/src/**`** đúng địa-phận FE-style mà **0 con được gọi** (đã ghi `SKIP-CO-KHAI`, không im lặng).
|
||||
**(74) `ROTATE` mật-khẩu prod `vrapp`** — việc anh, treo từ S153, chưa có mốc.
|
||||
|
||||
**(22) 🔺 RE-SURFACE @S185 — 2 cột thẩm-quyền `{owner-SỐ · owner-LUẬT}` của bảng eval-của-eval.** 🔴 **GIỮ NGUYÊN SỐ (22), CẤM cấp số mới** — dãy slot là MỘT chuỗi liên tục (1)…(75); mint (76) cho **cùng một câu** = đẻ 2 số cho 1 việc, đúng lớp lỗi *slot-index tái-dụng*. Đây **không** phải câu mới, là câu **đã lên bề mặt @S150 rồi RƠI**.
|
||||
|
||||
@ -53,6 +53,7 @@ Dữ-liệu cũ (WAL · HANDOFF · auto-memory · migration-todos) **KHÔNG** đ
|
||||
| `YC-021` | "W1,3,4 -> OK, W2 thì đồng ý thêm 1 nghi thức ko vấn đề" | 2026-08-10 · S185 | **đóng** *(4W trọn @S185 commit `6bf768da`: W-2 ring5 verified-runtime-cùng-phiên · W-1 day-wake 4-floor · W-3 500ms/4.3-PASS · W-4 bảng-DRAFT+thư-hub-restamp; REVIEW 8-MAJ vá hết. Còn 1 vế nhỏ CHỜ-ANH: gật bảng-DRAFT sau khi 3 dòng owner-SỐ được sửa đúng)* | 1 | WAL chain (TASK → WAL) | Cả 4 W GẬT: **W-1** thi công day-wake (3 chạm canonical + `/day` + dogfood + report hub, kèm REVIEW riêng) · **W-2** BUILD `ring5-audit` SE-form (vai kiểm nghi-thức — "thêm 1 nghi thức ko vấn đề") · **W-3** ngưỡng "điểm dừng RẺ" = 500ms (em đề, anh OK) · **W-4** em kê NHÁP bảng thẩm-quyền owner-SỐ/owner-LUẬT + soạn 2 đề-xuất-ngược gửi hub, anh duyệt bản kê | |
|
||||
| `YC-020` | "1 -> OK, 1 phiên. · 2 -> đồng ý 14 ngày. (nhưng cũng theo phiên luôn vì có ngày làm ngày ko). · 3 -> OK · 4 -> OK · 5 -> OK đông ý." *(trả lời 5 khoản SKIP-owner)* | 2026-08-10 · S185 | **đóng** *(5/5 thi hành @S185 commit `2a5290a8`: fold-3-detector + ngưỡng-14-PHIÊN [2 flag thật fire ngay] + đính-chính-thư-kế ghi nợ + grid-c-trio + giữ-neo-glyph)* | 1 | WAL chain (TASK → WAL) | (1) fold C13/C14/C15 vào TOTAL sau **1 phiên nền** (S185 = nền — sửa code giờ, lần chạy kế tự vào TOTAL) · (2) ngưỡng title-freshness = **14 PHIÊN** (KHÔNG phải ngày — anh chỉ rõ "có ngày làm ngày ko" ⇒ đo bằng nhãn-phiên/counter, khớp luật H24 "khoảng đo từ counter không từ đồng-hồ") · (3) V5 bao-cao-cuoi: KHÔNG sửa file đã gửi — đính chính 1 dòng trong THƯ KẾ gửi hub · (4) mở detector C13 canh thêm lưới trio · (5) GIỮ neo-glyph (không đổi quy ước heading) | |
|
||||
| `YC-019` | "1 -> Tạm OK · 2 -> Role baseline + Runs · 3,4 -> giải thích · 5 -> OK kéo audit luôn giờ cứ end/start là cứ chạy · 6 -> Nợ cũ thì xử lý cho xong luôn" | 2026-08-10 · S185 | **đóng** *(6/6 vế thi hành @S185: (1) YC-013/016 đóng · (2) ring2 24.859B · (3)(4) đã giải thích → anh phán tiếp = YC-020 · (5) deep_every=1 · (6) nợ cũ đóng trọn)* | 1 | WAL chain (TASK → WAL) | 6 phán quyết một lượt: (1) acceptance 8-panel TẠM-OK ⇒ lật YC-013/016 nấc "tạm" · (2) C-6 = NÉN `Role baseline`+`Runs` của ring2 (khuôn moved-not-cut như lead-stale) · (3)(4) em giải thích W-1..W-4 + 5 SKIP-owner, chưa phán · (5) 🔴 ĐỔI NHỊP DEEP: từ nay **mỗi bookend end/start đều chạy deep** (deep_every → 1, hết chờ nhịp 15) · (6) uỷ quyền xử TRỌN nợ cũ theo bậc-2 LT3 (chọn nhánh an toàn + khai, việc-vật-lý-của-anh thì kê rõ) | |
|
||||
| `YC-024` | "(80) Đồng ý đúng, 7 loại ⏎ (81) Tức Duyệt NCC -> Chọn Duyệt NCC tạo KHKK -> KHKK (đã duyệt) -> Chọn để tạo HĐ ⏎ (82) Hiện phân quyền tất cả trước đi, sau khi ổn rồi thì phân quyền sau. ⏎ (83) Lấy tương tự như KHKK sau đó tao sẽ điều chỉnh sau, phần điều chỉnh trong Admin tao sẽ tự chủ động ⏎ (84) Đồng ý ⏎ (85) Đồng ý ⏎ (86) Đồng ý khóa cứng tương tự như KHKK và Duyệt NCC ⏎ (87) Chỗ này user có thể tự chọn KHKK cho loại Hợp đồng nào. ⏎ (88) Đồng ý ruột lấy từ các thông tin đã nhập (Có thể tham khảo 1 form Hợp đồng trước file word đã có, lấy làm mẫu trước, các thông tin đã nhập vào có thể lấy load lên, còn nếu chưa thì cho điền bổ sung, ví dụ như điều khoản)." | 2026-08-10 · S188 | **mở** | 1 | run `2026-08-10-S187-duyet-hd-tu-khkk/` spec + WAL *(thi-công → WAL)* | 9 phán quyết mở khoá plan 11-wave YC-023: (80) trục **7-LOẠI** · (81) **PA-A** + xác nhận chuỗi kế thừa PE→KHKK→HĐ · (82) *đội hiểu (bậc-2, khai)*: **MỞ TẤT CẢ trước** như posture hiện tại, phân quyền chi tiết = đợt SAU khi anh thấy ổn ⇒ **W8-authz HOÃN chờ lệnh anh**; guard đúng-trạm của máy duyệt V2 vẫn chạy (logic quy trình ≠ phân quyền) — anh bác cách hiểu thì em sửa · (83) W3 seed roster **SAO KHUÔN KHKK**, anh tự chỉnh trong Admin Designer sau ⇒ hết chặn cứng · (84) màn duyệt **2 nút** · (85) admin **giữ ẩn** ⇒ W9 HỦY · (86) **khoá cứng** quy trình theo loại, không đổi tay · (87) KHÔNG cột gợi-ý — user tự chọn loại HĐ khi tạo từ KHKK · (88) KHÔNG bảng hạng mục — **ruột HĐ pre-fill** từ dữ-liệu đã nhập + khuôn **form HĐ Word có sẵn** làm mẫu, field thiếu cho điền bổ sung (vd điều khoản) → vào W5/W6 | |
|
||||
| `YC-018` | "2 phần bookend và bookstart -> trong đợt adapt này AI_INFRA cũng có hướng dẫn bọn mày chạy 1 mạch hết toàn bộ ko còn pause/tiep nữa, chú ý cấu hình cái đó kỹ nhé" | 2026-08-09 · S185 | **đóng** *(cấu hình land 4 site @S185 + chạy thật trọn 1 mạch bookend @close cùng đêm — nghiệm bằng vận hành)* | 1 | WAL chain (TASK → WAL) | Nghi-thức 2 đầu phiên (`/session-start` bookstart + `/session-end` bookend) phải chạy **TRỌN TRONG MỘT LƯỢT** như hub kể ở thư 08-08 Phần 1b ("lượt mở phiên gần nhất chạy trọn trong một lượt duy nhất, không cần cửa tạm dừng nào chen giữa") — cấu hình luật ONE-SHOT vào 2 file lệnh, CẤM rải nghi-thức qua nhiều cửa pause/tiep, CẤM hẹn-cửa-sau. *(Đội hiểu: pause/tiep VẪN là recovery khi đứt bất-khả-kháng [limit/crash — H22 giữ nguyên]; thứ bị cấm là DÙNG chúng làm nhịp chia-chặng nghi-thức. Anh bác cách hiểu này thì em sửa.)* | |
|
||||
|
||||
> 🔴 **MỘT yêu-cầu, nhắc 4 lần.** Đây là dữ-liệu **TC-01** sinh ra để bắt, và nó tố-giác chính lead: hiểu sai ở `YC-002` nên anh phải nói lại 3 lần. **Ghi lại chứ không làm đẹp.**
|
||||
|
||||
Reference in New Issue
Block a user