5.1 KiB
5.1 KiB
cicd-monitor/2026-05-q2 — gist
distill-gen: 1 source-verbatim: .claude/agent-memory/cicd-monitor/archive/2026-05-q2.md (1 entry + header-rule → 4 cụm) pointer-style: substring
TỔNG-HỢP (3-5 ý)
- Deploy-xanh ≠ feature-dùng-được. Run #231 PASS đủ mọi lớp máy (CI 3m30s, bundle 2/2 rotate, Mig 32/33 applied prod, smoke 5/5) nhưng seed V2 = 0 row ⇒ VERDICT PARTIAL — lớp verify quyết-định là DỮ-LIỆU SEED (sqlcmd đếm row theo
ApplicableType), không phải bundle-hash + smoke-200. - Hai chủ-đích đúng va nhau, không phải bug: cờ
DemoSeed:Disabled=true(thiết-kế Plan T cho UAT sạch) nuốt seed hạ-tầng của Plan B ⇒ sinh gotcha #51; đóng bằng Run #23238f1c4dcarve-out option (b). Monitor từ-chối tự quyết fix-option — escalate em-main. - Refactor ~150 LOC
ApproveV2Async+ 0 test = đúng khuôn rủi-ro gotcha #48 — UAT-skip-test không áp cho scope refactor. - Log-ERR trùng cửa-sổ deploy ≠ do deploy: SlaExpiryJob 5 entry ERR là nhiễu V1 có trước — quy trách bằng enum/phase trong message, không bằng thời-điểm.
Entries
[cao] A2+A3 — Run #231/#232 Plan B Contract V2 (PARTIAL → đóng)
- VIỆC: Verify Run #231 (id=345) push
6eec8d7..3e9258411 commit — Plan B wire Contract V2 (Mig 32/33 +ApproveV2Async+ 6 FE × 2 app). - KẾT-LUẬN: VERDICT=PARTIAL — deploy PASS (CI 3m30s; bundle 2/2 rotate
leEMWFLU→BBADl46y+Dgn1iU9E→DA_VI3zO; Mig 3220260522051059_AddApprovalWorkflowToContract+ Mig 3320260522052240_AddContractLevelOpinionsapplied prod; API 200 + 5/5 smoke; 7 HĐ V1 nguyên-vẹn) nhưng SEED PARTIAL:QT-HD-V2-0010 row (ApplicableType=3) ⇒ dropdown FE rỗng ⇒ V2 KHÔNG test được E2E. Đóng bằng Run #23238f1c4dcarveSeedSampleContractWorkflowV2ra khỏi DemoSeed-gate (option b) + gotcha #51. - BÀI-HỌC: deploy-xanh ≠ feature-dùng-được — phải verify DỮ-LIỆU SEED (sqlcmd đếm row đúng
ApplicableType), không dừng ở bundle-hash + smoke-200. Và: refactor >100 LOC (ApproveV2Async~150 LOC) đi kèm 0 test = đúng khuôn rủi-ro gotcha #48, UAT-skip-test không áp cho scope refactor. - BẤT-NGỜ: thứ chặn feature lại là feature-flag CỐ Ý (
DemoSeed:Disabled=true, thiết-kế Plan T S23 t10 để UAT sạch), không phải bug — 2 chủ-đích đúng đắn va nhau; và CICD-monitor từ chối tự quyết (a) hay (b), escalate em-main. → substring:"38f1c4d"
[thấp] A4 — SlaExpiryJob ERR cluster
- VIỆC: phân-loại 5 entry ERR 12:58:16 nổi lên cùng lúc deploy.
- KẾT-LUẬN: pre-existing V1 noise —
ConflictException Transition X→Y không hỗ trợtrên 4 cặp phase (DangInKy→DangKiemTraCCM,DangSoanThao→DangGopY,DangGopY→DangDamPhan,DangTrinhKy→DongDau); 0 dính V2; 0 regression. - BÀI-HỌC: log-ERR trùng cửa-sổ deploy ≠ do deploy — phải soi enum/phase trong message để quy trách.
- BẤT-NGỜ: job auto-approve V1 vẫn đang fail âm-thầm trên HĐ legacy, tách hẳn thành việc điều-tra riêng. → substring:"SlaExpiryJob"
Phụ-lục token (coverage)
- gotcha#:
#48(dẫn — refactor >100 LOC Service chạm changelog/audit) ·#51(SINH MỚI — DemoSeed gate) · "44 gotchas cross-ref" (không ở file này, xem q3) - surprise:
CRITICAL DISCOVERY #6 (NEW gotcha to add)· "seed gap is feature-flag design choice not deploy failure" · "Decision NOT for CICD Monitor — escalating" · "0 new tests added Plan B (~150 LOC ApproveV2Async NO test cover)" · "bro UAT ... V2 wire E2E NOT testable UAT mode" - guard:
DemoSeed:Disabled=truefeature-flag gate ·Reviewer ApplicableType=Contract guard(hotfix commit trong range) ·paths-ignore/test-gate 111 baseline ·feedback_uat_skip_verify(rule được viện-dẫn) · Rule§6.5"KHÔNG cắt narrative" - root-cause: "DemoSeed feature flag gates Plan B Chunk A2 sample V2 workflow seed" ⇒
QT-HD-V2-001 NOT seeded in prod (0 rows ApplicableType=3)⇒ V2 endpoint trả{"active":null,"history":[]}⇒ dropdown Create rỗng - file:line / định-danh: log
2026-05-22 12:57:44 [INF] DemoSeed:Disabled=true → skip workflow + contracts + PE + sample V2 seed (Plan T S23 t10 + Plan B Chunk A2 Contract V2)·SeedSampleContractWorkflowV2·ApproveV2Async(~150 LOC) · Run #231 id=345 · Run #232 sha=38f1c4d· push range6eec8d7..3e92584(11 commit) · Mig 3220260522051059_AddApprovalWorkflowToContract· Mig 3320260522052240_AddContractLevelOpinions· cộtApprovalWorkflowId+CurrentApprovalLevelOrder· bảngContractLevelOpinions(0 row) · bundleleEMWFLU→BBADl46y(admin) /Dgn1iU9E→DA_VI3zO(user) ·QT-HD-V2-001(ApplicableType=3) /QT-DN-V2-001v1+v2 (ApplicableType=1) · CI 3m30s 12:54:24→12:57:54 ·SlaExpiryJob5 ERR @12:58:16 · 4 transitionDangInKy→DangKiemTraCCM/DangSoanThao→DangGopY/DangGopY→DangDamPhan/DangTrinhKy→DongDau· archive-header: S32 curate, 27KB→~24KB, ngưỡng 25KB