STATUS/HANDOFF S45 (154->181 test, Mig 43) + gotcha #57 (soft-delete UNIQUE must filter [IsDeleted]=0) + session log + root CLAUDE counts + ef-core skill Mig 43 row + flush 3 agent MEMORY (test-specialist proxy after #53 truncation + cicd Run #368 + investigator P11-C recon). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6.8 KiB
HANDOFF — Brief 5 phút cho session tiếp theo
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-06-01 (Session 45 — HRM test-gap stabilization +27 (154→181) + Mig 43 Holiday filtered-unique fix. 2 commit 051b62b+0c5a014, cicd Run #368 PASS prod. Prev: S44 monthly drift audit.)
S45 (2026-06-01) — HRM test-gap stabilization + Holiday drift fix (Mig 43)
2 commit 051b62b (Tests +27) + 0c5a014 (Mig 43) → push → cicd Run #368 PASS, verified prod. 154→181 test.
Done:
- Đóng 3 test-gap deferred S35-S38 (stabilize before extend): Gap1 Holiday composite UNIQUE (7) + Gap2 EmployeeSatellite FK-invariant/soft-delete/cascade (10) + Gap3 gotcha #44 authz regression HrmConfigs+Employees (10). 🟪 test-specialist viết (return truncated #53 → 👤 em main verify-on-disk + proxy MEMORY).
- Mig 43
FilterHolidayUniqueIndexByIsDeleted(👤 em main solo) — Gap1 test lòi bug thật: Holiday DB UNIQUE (Year,Date) unfiltered vs handler!IsDeleted→ admin xoá + thêm lại ngày lễ cùng date = 500 reachable. Fix.HasFilter("[IsDeleted]=0")(khớp pattern 13×). 🟩 cicd verify filtered index live prod. Table vẫn 91 (index-only), FE bundle unchanged (đúng — BE-only). - 🟦 P11-C recon sẵn: Vehicle+Driver = extend HrmConfigs +2 kind declarative (Mig 44), giữ VehicleBooking free-text.
gotcha #57 NEW: soft-delete + UNIQUE → MUST .HasFilter("[IsDeleted]=0"). ⚠️ LeaveType.Code + ShiftPattern.Code vẫn unfiltered (cùng bug, backlog test-before). Process: feedback_background_spawn_visibility (foreground spawn im lặng "looks frozen" → đẩy background + report ngay).
Next S46 (anh pick): P11-C Vehicle+Driver (Mig 44, recon ready) · gotcha #57 fix LeaveType/Shift filtered-unique · P11-D/E/F · Phase 9 Ops.
S44 (2026-06-01) — Monthly drift audit + AI_INFRA bundle 06-01 (docs-only, 2-way VERIFIED)
4 commit ae30f8f → 5b8736d → 071c25c → 5dbcad3, pushed, tree clean. CI-skip (all .md). 154 test unchanged (no code).
Done:
- Monthly cadence audit (cron 2026-06-01, next 2026-07-01): 🟦 investigator-codebase ground-truth-from-disk scan → 👤 patch 42 count-drift fixes (
40→42 mig · 84/59/55/47→91 tables · 130/111→154 test · 52/49→56 gotcha) across CLAUDE.md + docs/CLAUDE.md + ef-core/dependency-audit skills + schema-diagram + database-guide. schema-diagram migration table +Mig 17-42; ef-core history +Mig 27-42; detailed-§ ERD gap (Mig 27-42 modules) flag EXPLICIT → deferred backlog. - AI_INFRA bundle 06-01 adopt (full scope): §A RAG T1/T2 auto · §C 7/7 agent-mem L1 ≤16KB + "25KB"→"~30KB tiered" ×7 · §D #4 self-report step → /session-end Phase 6.3 (skip #1 have/#3 helper) · §E/§F report+ledger docs/governance. AI_INFRA RT3 re-verified độc lập → VERIFIED 2-way, ĐÓNG HẲN.
- Carry-over S40 ĐÓNG (
5b8736d): BROADCAST-2 infra-feedback committed (governance trail) +.mcp.jsongitignored (machine-path local, no secret).
Lesson: "incremented-per-session" counts drift → re-ground từ code monthly (count files). gotchas.md header KHÔNG có self-count → mỗi cite = downstream copy (patch từng chỗ). → memory feedback_monthly_drift_audit.
Còn lại (AI_INFRA-owned, non-blocking): eval baseline cite 11,922 cũ + SE full re-index (last-index 05-29, S42-S44 stopgap) → AI_INFRA op, batch chung web-MCP migration (ping nếu cần cross_project_search SE tươi sớm).
Next S45 (anh pick): product Phase 11 (P11-C Vehicle+Driver / P11-D ItTicket SLA / P11-E AttendanceReport / P11-F MaTicket) · test-gap backlog (Gap1 Holiday UNIQUE 🔴) · Phase 9 Ops.
S43 (2026-05-30) — Phase 11 P11-B: LeaveBalance business logic
Commit 82d7fcf → Gitea #367 PASS, deployed prod. Agents Max → 0 bug lọt.
Done:
- Mig 42
AddLeaveBalances—LeaveBalances(User×LeaveType×Year + Entitled/Used/Adjustment, UNIQUE composite + FK LeaveTypes Restrict). 90→91 tables. - Trừ phép hook
ApproveLeaveRequestHandlerterminal DaDuyet — exactly-once (guard chặn re-approve), auto-create từDaysPerYear,UsedDays+=NumDays, Year=StartDate.Year. Policy cho phép âm + cảnh báo. - FK invariant guard Create+Update validate LeaveTypeId tồn tại → Conflict (đóng cửa tránh 500 kẹt đơn lúc deduction FK insert). grep xác nhận 2 write site duy nhất.
- CQRS GetMy/GetUser/Adjust (admin
[Authorize(Roles=Admin)]) + embed balance NGƯỜI TẠO vào leave detail. FE block "Số dư phép" + cảnh báo vượt (kind=leave). - Test 144→154 (+11 + repair 2 template terminal FK). Reviewer Max PASS (exactly-once + FK fully closed; 2 minor defer: concurrency no-RowVersion + stale comment).
Carry-over (chưa đụng): M BROADCAST-OUT...md + ?? .mcp.json (từ S40). · RAG S42-S43 chưa index (stopgap store_memory). · cicd flag: skill IIS path stale + agent-memory .md trigger CI.
Next S44 (anh pick): P11-C (Vehicle+Driver Mig 43) / P11-D (ItTicket SLA) / P11-E (AttendanceReport+Excel) / P11-F (MaTicket) · Phase 9 Ops · coord carry-over.
S42-S38 (older) → session logs
-
S42 (2026-05-30) Phase 11 P11-A: Mig 41 WireWorkflowAppsApprovalV2 (4 LevelOpinions + WorkflowAppCodeSequences) + 30 handler 4 module + Max re-review fix 2 FE picker bug. 130→144 test. →
docs/changelog/sessions/2026-05-30-S42-S43-phase11-p11a-p11b.md. -
S41 (2026-05-29) RAG corpus cleanup w/ AI_INFRA:
.claude/rag.jsonexclude**/-anchored fix (gotcha #10) + store_memory reconcile 5/5 (anti-data-loss, at-risk rule) + re-bootstrap 3080→2406 (−674 junk, zero-loss verified). Standing infra backlog → AI_INFRA. Concurrency carry-over (BROADCAST-2 +.mcp.json) originated here → resolved S44 (5b8736d). → memoryfeedback_store_memory_rebootstrap_protection. -
S40 (2026-05-29) init audit 10-mục + doc consolidation (STATUS/HANDOFF 393KB→9KB zero-loss archive) + AI_INFRA bulletin adopt 4/4 (Tiered Memory v1 + /session-start /session-end slash commands LIVE) + RAG MCP recovery (quit+relaunch FRESH). Concurrency carry-over (BROADCAST 2 +
.mcp.json) bắt nguồn đây — vẫn chưa đụng (xem S43). -
S39 (2026-05-29) infra: Opus 4.8 1M + multi-agent split 4→7 (+investigator/implementer split +test-specialist) + budget +50% + gotcha #54/#55.
-
S38 (2026-05-28) 🎊 Phase 10 COMPLETE 11/11 — Mig 39+40 skeleton combo (Đơn từ/Đặt xe/Ticket/Chấm công/Dashboard NS). ApproveV2+LevelOpinions+LeaveBalance DEFER Phase 11 (→ làm xong S42-S43).
Detail đầy đủ → docs/changelog/sessions/ + docs/_archive/HANDOFF-preS40-fullhistory.md.