Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3.1 KiB
name, description, metadata
| name | description | metadata | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| feedback-skeleton-first-aggressive-finish | SOLUTION_ERP S38 skeleton-first strategy — finish 5 plan combo 1 commit mega với trade-off DEFER rõ ràng, UAT visible 100% nhưng workflow simplified |
|
Skeleton-First Aggressive Finish (Session 38 — 2026-05-28)
Trigger: Anh main "OK check lại plan nhé, xem còn gì ko thì finish cho xong luôn đi nhé" — yêu cầu finish 5 plan còn lại (G-O4/O5/O6/P1/H3 ~17-22h full-feature) trong scope hẹp.
Strategy chốt: SKELETON Phase 1 combo
Thay vì full-feature 5 plan riêng lẻ (5 session) → 1 session 1 commit mega skeleton:
- Mig 39 mega 5 entity (Leave/OT/Travel/Vehicle/ItTicket) + Mig 40 Attendance — combine để tiết kiệm CI run
- BE skeleton: Create + List + GetById per module (defer ApproveV2 + workflow advance)
- FE skeleton: declarative generic
WorkflowAppsListPagehandle 4 module via :kind + kanban ItTickets + GPS Attendance + Dashboard KPI - Status flat 5-state
WorkflowAppStatusshare (KHÔNG per-module LevelOpinions)
Trade-off DEFER Phase 11 (ghi rõ commit message + 7 amber banner UI)
- ApproveV2 workflow advance level + LevelOpinions per-module
- LeaveBalance calc business logic + CodeGen atomic MaDonTu/MaTicket
- Vehicle catalog + Driver catalog (free text placeholder)
- ItTicketComments thread + Auto-assign round-robin + SLA timer
- AttendanceReport admin + Excel export + OtPolicy multiplier
Kết quả
- UAT visible 100% — mọi route navigate được, sidebar 11 sub-menu live, list empty + check-in GPS button + Dashboard KPI thật (33 NV aggregate)
- Workflow simplified — Drafter Create OK, Approve flow chưa wire (defer)
- Run #247 PASS 3m25s (fastest) + 0 prod regression + 130 test unchanged
- Phase 10 = 11/11 atomic 100% (foundation deployed, polish defer)
When to apply (decision rule)
✅ DÙNG skeleton-first khi:
- Anh main signal "finish cho xong" / scope hẹp / time-box
- Module pattern proven (mirror reference — Proposal pattern S37 → 5 module clone)
- UAT cần visible toàn bộ để feedback structure trước khi polish logic
- Trade-off defer KHÔNG ảnh hưởng data integrity (schema đầy đủ, chỉ logic defer)
❌ KHÔNG skeleton khi:
- Feature cần workflow hoàn chỉnh ngay (vd financial approval bắt buộc)
- Schema thiếu sẽ cần Mig breaking change sau (skeleton schema phải FULL từ đầu)
Key insight
Schema FULL + Logic SKELETON — Mig 39+40 schema đầy đủ field (ApprovalWorkflowId pin, GPS lat/long, OtPolicyId FK) để Phase 11 wire logic KHÔNG cần Mig breaking. Defer chỉ ở Application/FE layer (handler logic + UI form), KHÔNG defer Domain/schema.
Reusable cross-project: "finish cho xong" request → skeleton-first với schema FULL + logic defer + trade-off ghi rõ commit + UI banner. UAT visible nhanh, polish iterative sau.
Related: feedback-phase10-namgroup-port feedback-declarative-kind-config-pattern