Commit Graph

915 Commits

Author SHA1 Message Date
054ba022e4 wal: flush 20260727T1537 2026-07-27 15:37:14 +07:00
76488e88d7 wal: flush 20260727T1437 2026-07-27 14:37:40 +07:00
f4494cfefb [CLAUDE] FE-User: fix menu sang nham — click "Danh sach" lai highlight "Da duyet"
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m41s
Bug UAT anh bao 2026-07-27 (anh chup man hinh): bam muc "Danh sach" thi menu lai
to sang muc "Da duyet".

Goc: `phase` vua la BO LOC trang thai tren trang danh sach (nen nam trong
TRANSIENT_QUERY_KEYS tu fix 2026-05-08 — de user loc/chon dong khong mat highlight),
vua VUA-MOI tro thanh DANH TINH dieu huong cua muc "Da duyet" (`?type=N&phase=7`,
dot 2 hom nay). `queryMatches` strip `phase` khoi CA HAI ve => "Danh sach" ([type])
va "Da duyet" ([type] sau khi mat phase) thanh KHONG PHAN BIET DUOC => URL `?type=1`
khop ca hai, muc render sau thang phan hien thi.

Cung mot tham so khong the vua la thu-bi-bo-qua vua la thu-dinh-danh.

2 sua, ca 2 app (Layout khong phai file mirror byte-identical nen sua rieng tung ben):
- `queryMatches`: transient chi duoc bo qua khi MENU DICH KHONG tu ghim key do
  (dich ghim => so khop NGHIEM; khong ghim => giu hanh vi cu).
- Route "Da duyet" them `&view=approved` = khoa DINH DANH rieng (trang bo qua no,
  chi `phase=7` loc that). Can thiet vi URL muc "Da duyet" TRUNG HET URL ma user tu
  loc trang thai tren Danh sach => khong the phan biet bang URL neu thieu khoa nay.

Kiem 4 ca duong di (khong chi ca anh bao):
  ?type=1                        -> Danh sach SANG, Da duyet TAT
  ?type=1&phase=7&view=approved  -> Da duyet SANG, Danh sach TAT
  ?type=1&phase=7 (user tu loc)  -> Danh sach VAN SANG (giu fix 2026-05-08)
  ?type=1&deleted=1              -> Da xoa SANG, con lai TAT

tsc 0 loi x2 · npm build PASS x2.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 14:36:46 +07:00
fc064bea94 wal: pause 2026-07-27 14:25:22 +07:00
976945ce67 wal: pause 2026-07-27 14:18:06 +07:00
9ed65f4a3b wal: flush 20260727T1408 2026-07-27 14:08:03 +07:00
4464a464c5 [CLAUDE] PurchaseEvaluation: nut XOA phieu o man duyet + menu 3 muc + man "Da xoa" (dot 2)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m47s
Dong ca UAT goc (Tra Sol): "lo bam sai cai goi thau, quay lai khong duoc, phai
xoa thi no moi ko co luy ke len". Dot 1 (b1bae77) da dung NEN (co F6 + lenh sua
quy trinh tai cho); dot 2 la phan nguoi dung cham vao.

- App: PeSoftDeleteFeatures.cs MOI
  - DELETE /api/purchase-evaluations/{id}/by-approver — 3 rao: phase ChoDuyet
    ^ dung luot actor ^ matchingLevel.AllowApproverDelete (PER-NGUOI, khong g.Any)
  - GET /api/purchase-evaluations/deleted — IgnoreQueryFilters() KEM .Where(IsDeleted)
    (IgnoreQueryFilters GO filter chu khong DAO — thieu Where la liet ke ca phieu song)
    + tai lap khoi IDOR cua list hien hanh
  - ghi vet ChangelogAction.Delete + ly do
- Api: 2 endpoint moi. 🔴 by-approver CO Y KHONG co [Authorize(Policy)] — do tren DB:
  moi vai dang lam nguoi duyet (Procurement/CostControl...) deu CanDelete=0 va khong
  seeder nao nang co do => gan policy la 403 voi dung nguoi can dung, ma FE gate cung
  quyen nen khong thay nut khong thay loi (gotcha #44). Quyen = 3 rao handler; co F6
  la admin tick dich danh tung nguoi => chat hon quyen theo vai.
- Dto: ApprovalWorkflowOptionsDto + AllowApproverDelete. Thieu field nay thi FE gate
  luon sai => nut KHONG BAO GIO hien, ma BE lan FE deu build sach (reviewer bat).
- Domain/Infra: 2 menu key Pe_{code}_Approved / _Deleted (KHONG vao MenuKeys.All =>
  giu 54/216) + seed tree + labelBackfill "Duyet" -> "Dang duyet" + 2 danh sach permission
- FE x2 app: nut Xoa trong PeWorkflowPanel (md5 mirror khop) + dialog ly do + Layout
  regex/route cho 2 muc moi + man "Da xoa" chi-xem
- Tests: +11 (562 tong, 0 fail). T27 khoa CA LOP loi entity-co-co-ma-DTO-khong-co
  (fault-inject xac nhan: go field ra => T27 do ngay)

Review: 12 FLAG, chot chan H1 (DTO thieu field) da va. Deploy KHONG co migration
nhung CO seed menu => phai restart API.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 14:06:14 +07:00
0aa8557650 wal: flush 20260727T1350 2026-07-27 13:50:59 +07:00
d21b554f29 wal: flush 20260727T1330 2026-07-27 13:30:58 +07:00
a21482ecd7 wal: flush 20260727T1319 2026-07-27 13:19:26 +07:00
e895b9aceb wal: flush 20260727T1312 2026-07-27 13:12:40 +07:00
ad932b1211 wal: flush 20260727T1300 2026-07-27 13:00:00 +07:00
3ec2f116a2 wal: flush 20260727T1250 2026-07-27 12:50:05 +07:00
dfbaeb1e76 wal: flush 20260727T1238 2026-07-27 12:38:45 +07:00
b1bae77c9c [CLAUDE] Workflow: sua quy trinh duyet TAI CHO + co F6 AllowApproverDelete (dot 1)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m31s
Nen cho tinh nang "xoa phieu PE o man duyet" (UAT: phieu bam sai goi thau dang
an luy ke). Dot 1 lam NEN, dot 2 moi lam nut xoa.

Vi sao phai lam nen truoc: phieu dang chay pin ApprovalWorkflowId va doc workflow
SONG theo Id do. Moi POST tao workflow moi = Id MOI, nen tick co tren ban moi
KHONG BAO GIO toi duoc phieu dang treo. Phai co lenh sua-tai-cho giu nguyen Id.

- Domain: ApprovalWorkflowLevel + AllowApproverDelete (F6, per-NGUOI) + Mig
  20260727033522_AddPeAllowApproverDelete (AddColumn bit default false, no new table)
- Application: UpdateAwDefinitionCommand + Validator + Handler
  - 2 phep thu: (T1) khung khong doi - Order tung row bat bien
                (T2) luat choi khong doi - cam CeoApprovalThreshold, AllowApproverFinalize,
                     Code, ApplicableType => 409 bao tao ban moi
  - diff theo Level.Id (CAM delete-then-insert: no FK Restrict + mo coi LevelOpinion)
  - guard 2 tang chu ky: tang 1 chu ky tren ho so CON SONG; tang 2 chu ky CON LUU
    (cha xoa mem hoac opinion xoa mem) - ca hai deu CHAN, khong xoa cung
  - purge chi khi ho so cha KHONG CON ROW; boc transaction (ExecuteDelete tu commit)
  - KHONG tang Version, KHONG dung IsActive, KHONG doi Id
- Api: PUT /api/approval-workflows-v2/{id} + [Authorize(Policy="Workflows.Create")]
- Infra: message 403 in TEN NGUOI thay GUID tran
- FE: Designer tach "Sua tai cho" (PUT) vs "Tao phien ban moi" (POST) + o tick F6
- Tests: +21 (551 tong, 0 fail) - gom F12 chung minh phieu dang chay nhan thay doi ngay

Review: 14 FLAG, 3 HIGH da va (ExecuteDelete ngoai transaction / purge xoa cung
chu ky phieu xoa mem / endpoint khong co day FE goi toi).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 12:36:59 +07:00
d745fec445 wal: flush 20260727T1224 2026-07-27 12:24:07 +07:00
e48a6c5068 wal: flush 20260727T1211 2026-07-27 12:11:59 +07:00
bc17dba547 wal: flush 20260727T1155 2026-07-27 11:55:41 +07:00
59e2cc0e43 wal: flush 20260727T1135 2026-07-27 11:35:45 +07:00
acc6c6ccc1 wal: flush 20260727T1126 2026-07-27 11:26:00 +07:00
1aeb94d9b1 wal: flush 20260727T1108 2026-07-27 11:08:33 +07:00
9c0ac6884d wal: flush 20260727T1050 2026-07-27 10:50:36 +07:00
8c5b3717df wal: flush 20260727T1030 2026-07-27 10:30:24 +07:00
b0cdd02468 wal: flush 20260727T0959 2026-07-27 09:59:49 +07:00
e981d34fdc wal: flush 20260727T0945 2026-07-27 09:45:33 +07:00
dd674a6d47 wal: flush 20260727T0939 2026-07-27 09:39:31 +07:00
d25e21ba7b wal: flush 20260727T0914 2026-07-27 09:14:17 +07:00
06ab87f67e wal: flush 20260727T0909 2026-07-27 09:09:59 +07:00
0db0c6a3ee wal: flush 20260727T0903 2026-07-27 09:03:41 +07:00
a3a6d66cff wal: flush 20260727T0853 2026-07-27 08:53:42 +07:00
c41af1cf3f wal: flush 20260727T0846 2026-07-27 08:46:29 +07:00
8d4075aa73 wal: pause 2026-07-27 01:01:29 +07:00
5197ce2f1b wal: flush 20260726T1942 2026-07-26 19:42:22 +07:00
b5945a66d4 wal: flush 20260726T1938 2026-07-26 19:38:22 +07:00
82a0457e6f wal: flush 20260726T1928 2026-07-26 19:28:36 +07:00
8776ca8f8a wal: flush 20260726T1912 2026-07-26 19:12:14 +07:00
ed99b04bf7 wal: flush 20260726T1905 2026-07-26 19:05:09 +07:00
976df03460 wal: flush 20260726T1848 2026-07-26 18:48:02 +07:00
76580d7b1f wal: flush 20260726T1842 2026-07-26 18:42:20 +07:00
b44afe460a wal: flush 20260726T1837 2026-07-26 18:37:44 +07:00
a32d75c715 wal: flush 20260726T1831 2026-07-26 18:31:56 +07:00
ab06b09335 wal: flush 20260726T1829 2026-07-26 18:29:03 +07:00
7447d2c4be wal: flush 20260726T1822 2026-07-26 18:22:44 +07:00
632ffc44cd wal: flush 20260726T1817 2026-07-26 18:17:48 +07:00
2af380816e wal: flush 20260726T1809 2026-07-26 18:09:42 +07:00
256f724cdc wal: flush 20260726T1807 2026-07-26 18:07:03 +07:00
035daeca95 wal: flush 20260726T1802 2026-07-26 18:02:51 +07:00
48f3fef502 wal: flush 20260726T1801 2026-07-26 18:01:00 +07:00
871ac0a619 [CLAUDE] Docs: S153 closeout-bis — _end session-6 + _mind block-0 (closed-check 10/0/0) + reset WAL
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m36s
- .claude/sessions/session-6/_end: chốt-kết phiên-logic 6, markers _pause=0/_tiep=0/_snapshot=0/mind-blocks=1
- .claude/sessions/session-6/_mind-s-6.md 12.4KB: block-0 nội-dung THẬT (A-E đủ, 5 ý D có nhãn, 5 dòng-sống E)
  ghi TRỄ @close có KHAI (Phase 3.5 vừa land phiên này, command .md no-hot-reload)
- closed-check mind-check --session 6: dat=10 TRUOT=0 co=0 exit 0
  (2 vòng trước máy bắt đúng lỗi lead: thiếu _mind => TRUOT; con-trỏ E thiếu tiền-tố .claude/workflows => hỏng thật)
- WAL reset template rỗng + xoá sentinel closing: (Sàn-2 acceptance)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 16:16:45 +07:00
11db5efdf8 [CLAUDE] Docs: S153 closeout — adopt TRỌN Ctx soft-memory + OWNER-VETO 3-vai + RENAME hub-form (squash 22 wal:)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m39s
Pipeline anh lệnh: /check-email + /adap-apply -> /fable-real invest (spec 9-task/24-checklist)
-> hmw Opus-5-MAX 2 đợt + lead-solo T6-T8 -> checklist verify.

Thư ① 9c909007 (model-default Opus 5 MAX): TRỌN — filing 2-tuyến + probe-sau-restart
2-nguồn claude-opus-5[1m] + thư hub d432f5eab5cd + caveat (e) đóng.

Thư ② 0df10df4 (pause-tiep Ctx soft-memory, sàn 7-khoản): EXECUTED
- máy mind-check: scripts/session_ctx.py +542 dòng (7 phép + 2 phụ, 4 mức, draft/closed/--root/--session PIN, exit 0/1/3)
- template .claude/templates/session-mind-template.md + wire 4 lệnh (pause C-bis+2bis+§1-carve-out, tiep §2.6+§3-ter, session-start Phase 3.5, session-end §L.b(l)+6.3-bis)
- memory-budget: mind_ctx_kb=32 + tiep_reload + ĐÓNG ghost-wire session_ctx_kb (H18 class-2 sống S146->S153)
- fault-inject 18/18 + 2 fix hậu-T4 (FI 6/6): GAP-#9 closed-mode E-0-con-trỏ CỜ->TRƯỢT (chặn gradient
  thưởng xoá-con-trỏ-trung-thực, họ bẫy F-1 của chính thư hub) · secrets-sweep +--root parity
- số ĐO THẬT pause +117ms thay ước lệch 2.2-5.4x

OWNER 2 quyết trong-phiên:
- (38) VETO: 1-vai -> hub-form 3-vai (ctx-curator @pause + carve-out pause §1 · ctx-verifier @tiep · ctx-audit @2-bookend)
- RENAME theo chuẩn hub/sisters để audit chéo: ctx-pause-check->ctx-curator, ctx-reload->ctx-verifier
  (đo đĩa 3 nhà; hub≠sister => SE theo HUB-form, tiền lệ S149). Roster 20->23, VALID_ROLES 23.
  Gap còn lại: ring5-audit (V5 truth-floor) hub CÓ, SE+VIPIX chưa -> slot (41).

Bookend 2 đầu (12 spawn) + trio auto 1 vòng:
- @open: H1 7f · H2 4f · H24 5+3 FLAG · ring1 28Đ/4T · ring2 8/8Đ + M-1 MISS thật · trio eval-MIXED-14/refine-3A-7B-4N/audit-25Đ-3T (re-chạy 7 instrument, 24 số byte-exact)
- @close: H1 6f · H2 8f (baseline S154 = 16/10, tự sửa bản ~23/11) · H24 4+2 FLAG · ring1 47Đ/5T/1KC/53 · ring2 6/6Đ + 21 phép phụ
- lead xử 11 mục: 9 FLAG H24 + 3 RESIDUAL ring2 + F-r2 (plugin 3 hard-site) + M-1 cả 2 persona + M9 14 sổ diary + F-3/F-5/F-6 + nit Sàn-5 + BÁC F-4 (fan-out không vào _index)

#53 x14-cận-dưới, 0 mất dữ liệu (WRITE-lane derive-from-body · Agent-resume · SendMessage-resume x6).
Datum: trio return-only hết miễn nhiễm (3/3 CLEAN -> 1/3). 4-A suýt xảy ra thật (bản committed của 2 file H24 là bản cắt 24%/48%).
completeness-gate: 5 vòng đủ · phép ĐẠT 4 / TRƯỢT 0 / vacuous 0.
State: Mig 67 · 89 bảng · 532 test · gotcha 83 · Sub-agents 23 · counter 27 · bundle FROZEN · governance-only 0 prod-code.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 16:10:54 +07:00