Commit Graph

1435 Commits

Author SHA1 Message Date
88bdd05492 [CLAUDE] Contract: tách HĐ Thầu phụ thành 01A/01B + thân document-view + pre-fill + khoá bản cứng (YC-032)
Some checks failed
Deploy SOLUTION_ERP / build-deploy (push) Failing after 2m41s
Owner YC-032/033/034/036 — 4 vế:

1. TÁCH LOẠI: +2 ContractType (HopDongThauPhuVatTu=8 / HopDongThauPhuThietBi=9),
   họ HD-TP-VT / HD-TP-TB, menu 01A./01B. (giữ 02.-07. nguyên, loại cũ =1 legacy).
   Bịt 5 nhánh câm nuốt loại mới: WorkflowPolicy (mất trạm CCM), ContractCodeGenerator
   (sai mã RG-001, không hồi tố được), ContractDetailsFeatures x2 (bundle rỗng HTTP 200),
   SeedWorkflowDefinitions (Designer V1 rỗng). ContractDetailsHelpers.ThauPhuFamily —
   3 loại chung bảng ThauPhuDetails ⇒ 0 migration cho vế này.

2. THÂN DOCUMENT-VIEW: ContractBodyView.tsx + lib/contractBody/ (002.02 = 36 ô/2 bảng/5 điều ·
   002.03 = 46 ô/6 bảng/6 điều · PHẦN 2 dùng chung 5 điều read-only gắn CUỐI theo YC-034).
   Lưu vào Contract.DraftData lược đồ {schemaVersion,kind,body,paymentTerms}.
   Gỡ draftData:null hardcode 4/4 site — trước đây mỗi lần Lưu là xoá trắng thân HĐ.

3. PRE-FILL: cầu KHKK đổ 17 ô (Bên B · chủ đầu tư · gói thầu · số HĐ · giá trị) — 17/17 khớp
   slot.key. Địa điểm lấy pe.DiaDiem (0% rỗng) thay Project.Location (93% rỗng). Vá regression
   cầu KHKK đánh rơi PaymentTerms + BypassProcurementAndCCM so với cầu PE cũ.

4. KHOÁ BẢN CỨNG MỘT CHIỀU (YC-033 "giấy trắng mực đen"): Mig AddContractSealedAt
   (+SealedAt +SealedByUserId), set ??= (upload lần 2 không đè mốc đầu), rào 2 cửa —
   xoá đính kèm bản cứng ⇒ 409, sửa HĐ ⇒ chặn. Test-before 2 ca.
   + print CSS in trình ký (ô điền in ra thành đường kẻ, không phải khung input).

Template: 002.02/002.03 convert .doc→.docx vào wwwroot + trỏ đúng 2 loại mới (trước cùng trỏ
loại cũ ⇒ dropdown Mẫu sẽ rỗng) + reconcile IsActive giới hạn 2 FormCode (bản đầu quét toàn bộ
sẽ hồi sinh mẫu admin đã xoá mỗi restart — database-reviewer-style bắt).

Đo: build 0 error · test 697→699 PASS (+2 seal) · has-pending-model-changes = No changes ·
tsc --noEmit exit 0 x2 app · mọi cặp file 2-app sha256 trùng · Menu keys 120→122 · Policies 480→488.

NỢ ĐÃ-BIẾT (owner cố ý hoãn, không phải bỏ sót): VAT (chưa VAT, để sau) · bảng tóm tắt PHẦN 1
trỏ "xem ĐIỀU 8/12" mà 002.04 chỉ có 5 điều ⇒ con-trỏ chết · phân quyền upload bản cứng ·
12 điều PHẦN 2 không có trong tài liệu. Chưa soi: 2 vai style FE/BE (lane không tạo được artifact).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 04:11:20 +07:00
1e9df0c3f5 wal: flush 20260814T0402 2026-08-14 04:02:16 +07:00
a326c85d36 wal: flush 20260814T0352 2026-08-14 03:52:37 +07:00
e3d9f79cc8 wal: flush 20260814T0332 2026-08-14 03:32:44 +07:00
3a0baca1b5 wal: flush 20260814T0305 2026-08-14 03:05:11 +07:00
bebf2961c1 wal: flush 20260814T0241 2026-08-14 02:41:56 +07:00
59b118ce45 wal: flush 20260814T0211 2026-08-14 02:11:38 +07:00
171ed79d74 wal: flush 20260814T0155 2026-08-14 01:55:45 +07:00
7cf5dcfd0b wal: flush 20260814T0142 2026-08-14 01:42:18 +07:00
416ba9a777 wal: flush 20260813T2312 2026-08-13 23:12:55 +07:00
65631adb05 wal: flush 20260813T2259 2026-08-13 22:59:50 +07:00
3d01333461 wal: flush 20260813T2242 2026-08-13 22:42:59 +07:00
a4d70cc9ad wal: flush 20260813T2224 2026-08-13 22:24:47 +07:00
9d675396d9 wal: flush 20260813T2145 2026-08-13 21:45:19 +07:00
b9f2ab84bd wal: flush 20260813T2130 2026-08-13 21:30:40 +07:00
4837fffd2a wal: pause 2026-08-13 18:38:40 +07:00
2e7f83574b wal: flush 20260813T1826 2026-08-13 18:26:54 +07:00
e10adc384b wal: tiep S193 (va 4 co ctx-verifier: nha 7 cau + flush run.md) 2026-08-13 15:47:55 +07:00
f92d43c045 wal: tiep S193 (do prod live, giai xung-dot hash) 2026-08-13 15:37:11 +07:00
3c68f3dea5 wal: tiep S193 (noi mach L16 w2) 2026-08-13 15:35:45 +07:00
867865cea0 wal: pause (h24 tally light) 2026-08-13 04:24:53 +07:00
2f18f75aa2 wal: pause (h24 tally deep) 2026-08-13 04:24:40 +07:00
a5d22f52d8 wal: pause 2026-08-13 04:23:55 +07:00
2221ed1065 wal: flush 20260813T0412 2026-08-13 04:12:37 +07:00
5348fecb4c wal: flush 20260813T0400 2026-08-13 04:00:19 +07:00
657d1a6e07 wal: flush 20260813T0347 2026-08-13 03:47:56 +07:00
422cd66cbd wal: flush 20260813T0317 2026-08-13 03:17:51 +07:00
c796f716ad wal: flush 20260813T0314 2026-08-13 03:14:34 +07:00
49851f2d92 wal: flush 20260813T0301 2026-08-13 03:01:48 +07:00
8965bd65a4 wal: flush 20260813T0258 2026-08-13 02:58:10 +07:00
c493007073 wal: flush 20260813T0255 2026-08-13 02:55:26 +07:00
7d906a27ea wal: flush 20260813T0253 2026-08-13 02:53:58 +07:00
39a5776612 wal: flush 20260813T0248 2026-08-13 02:48:29 +07:00
7f64d4726e wal: flush 20260813T0241 2026-08-13 02:41:47 +07:00
af6f7625ed wal: flush 20260813T0240 2026-08-13 02:40:29 +07:00
05ddefbdd1 [CLAUDE] Docs: S191 — harness-audit (trio nấc 3) trả nợ TREO + cảnh báo ring2 PROPOSE move-set [skip ci]
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 02:10:39 +07:00
3529772605 [CLAUDE] Docs: CLAUDE.md — Node/CI pin khai đúng cơ-chế (ghost-wire .nvmrc, gotcha #92) [skip ci]
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 02:06:35 +07:00
23a7a66870 [CLAUDE] Docs: S191 ĐÓNG L15 — ring5 lật nhãn tự-ý-bỏ (RCA tái phạm) + synthesis + reset WAL [skip ci]
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 02:06:04 +07:00
8b126b714c [CLAUDE] Docs: S191 closeout-2 — vá F-1(d) STATUS:478 claim đã bị bác + MIND-3 (closed-check 11/0) + _end chốt L15 [skip ci]
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 02:01:46 +07:00
d6026b1436 [CLAUDE] Docs: S191 closeout — vá 10 FLAG H24 + gotcha #92 đổi root-cause + RCA P0-BUNDLE + 3 action refine (A7 429→432) [skip ci]
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 01:58:29 +07:00
305b573f5a [CLAUDE] CICD: vá GỐC #92 — npm ci theo lockfile đã commit + guard React-đơn-bản (bỏ xoá lockfile mỗi run)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 10m22s
Root-cause 2 ca trắng màn prod (S189 #486, S191 #600): deploy.yml xoá package-lock.json
rồi npm install => mỗi run resolve lại cây theo semver range => cùng commit ra bundle khác
nhau tuỳ registry lúc build. CI vẫn exit 0 + byte-match CI-prod + smoke 200 vì mọi phép đo
đều đo FILE, không đo CHƯƠNG TRÌNH CHẠY.

- lockfile tái sinh từ cây lành đang chạy prod (thiếu @microsoft/signalr + 9 transitive
  vì lockfile cũ có từ 23/04, trước khi dự án thêm SignalR — nên 'xoá cho lành' từng hợp lý)
- npm install -> npm ci (deterministic theo lockfile) + check exit code từng bước
- GUARD-92: chặn build khi React trùng bản (đúng cơ chế useState null). Fault-inject 4 ca
  bắt được dương-giả lucide-react khớp regex trước khi push; đã neo lookbehind.
- Bundle verify runtime trên prod trước khi commit: eoffice CR538vZx + admin C10ta-wB,
  console 0 lỗi, cùng byte với bản lành (1.700.709 / 1.780.807).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 01:13:34 +07:00
c03955405d [CLAUDE] Docs: P0-2 eoffice trắng màn — hotfix bundle local D6lFjgKF + gotcha #92 khắc thật (runner build-env nhiễm, CẤM push code tới khi vá) [skip ci]
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 01:01:29 +07:00
7ebfc8c746 [CLAUDE] Docs: S191 /tiep + finish L15 — cửa ngoài-giờ (cron Gitea + cứu VR Master #88) + vá bề mặt ctx-verifier + session-log S189-S191 [skip ci]
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 00:45:17 +07:00
eec9ad99bf wal: pause 2026-08-12 23:11:23 +07:00
4e55a04696 [CLAUDE] Skill: YC-027 khắc RULE đủ-cửa 4/4 (pause+tiep) + STATUS row Tests 697 (cicd #600 verify)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 23:11:16 +07:00
39373514e7 wal: flush 20260812T2255 2026-08-12 22:55:48 +07:00
edad406f31 wal: flush 20260812T2229 2026-08-12 22:29:59 +07:00
2fed7540ad wal: flush 20260812T2215 2026-08-12 22:15:40 +07:00
091073f910 [CLAUDE] Docs: YC-029/YC-030 ghi sổ 5 điều chỉnh GĐ3 + 5 phán quyết Q1-Q5 + STATUS S190 row
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 11m37s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 22:10:10 +07:00
59cb121738 [CLAUDE] FE-User: YC-030 Q1/Q2/Q3 — my-contracts layout KHKK-thuần (ContractListPanel) + panel duyệt 3 món + máy duyệt về panel-3 (5 host ×2 app)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 21:58:08 +07:00