[CLAUDE] Docs: chốt Session 15 wrap-up — tooltip diagnose + drastic refactor DEFER
Session 15 (2026-05-07) docs update: STATUS.md: - Last updated Session 15 (1 commit `835cc7f` tooltip + working tree drastic refactor revert) - Recently Done row Session 15 chi tiết (diagnose + plan drastic + attempt 12 file edits + REVERT decision) HANDOFF.md: - TL;DR Session 15 prepend với 2 phần: Diagnose tooltip + Drastic refactor DEFER decision - 4 cảnh báo Session 16+: Drastic refactor pending (8-10h dedicated hoặc fallback Approach Y), Task 2 sample seed pending, schema-diagram defer cron audit, Hard blockers giữ nguyên migration-todos.md: - Phase 9 + Session 15 block với 1 task done (tooltip) + 1 defer (drastic refactor) + memory entry note - Defer Session 16+ list Session log NEW `2026-05-07-2600-tooltip-defer-drastic.md`: - Bối cảnh user UAT báo button silent disabled - Phần 1 — Diagnose tooltip (root cause + fix UX + "trùng ID" KHÔNG phải bug FE) - Phần 2 — Plan drastic refactor flat workflow → DEFER: * User spec mới (Phòng × Cấp × Users[] flat) * Plan 6 chunk + estimate scope realistic ~8-10h * Attempt 12 file working tree edits → REVERT decision * Memory entry capture decision rule - Plan organization sau S15 (defer queue) Memory entry NEW `feedback_drastic_refactor_scope.md`: - Quy tắc: drastic refactor cần dedicated session, scope conservative 2x buffer - Anti-patterns mid-session big refactor + commit broken state - Defer pattern (revert working tree → document → memory entry → surface trade-off cho user) - Cross-ref `feedback_per_chunk_commit.md` discipline 🎉 Session 15 wrap-up. Cumulative since session start (13h17): 16 commit (1 button removal + 6 PE N-stage + 5 Contract N-stage + 1 3-button + 1 Session 14 wrap-up + 1 tooltip + 1 Session 15 wrap-up). Verify: dotnet test 96 pass + working tree clean. Defer Session 16+ priority order: 1. Drastic refactor flat workflow (dedicated session ~8-10h) OR fallback Approach Y (FE flat UI 5 phòng, 1-2h) 2. Task 2 sample data seed N-stage 3. Hard blockers Ops (UAT, SMTP, etc.) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -1,6 +1,58 @@
|
||||
# HANDOFF — Brief 5 phút cho session tiếp theo
|
||||
|
||||
**Last updated:** 2026-05-07 (Session 14 — **PE 3-button workflow Duyệt/Trả lại/Từ chối — Domain policy expand + Service tách reject 2 case + FE 3-button + 1 test mới = 96 pass. 1 commit `0d77698`. Task 2 sample seed defer (DesignTime vs Runtime DB gotcha + API exit sớm).**)
|
||||
**Last updated:** 2026-05-07 (Session 15 — **Tooltip diagnose "Lưu & Gửi Duyệt" silent disabled (commit `835cc7f`). Plan drastic refactor flat workflow user chốt → attempt 12 file edits Domain/Configurations, realize scope ~8-10h vượt session, REVERT clean. State 96 test pass, 20 mig.**)
|
||||
|
||||
## TL;DR Session 15 (07/05 — Tooltip diagnose + drastic refactor DEFER)
|
||||
|
||||
User UAT live screenshot báo button "Lưu & Gửi Duyệt" KHÔNG hoạt động + suy đoán "trùng ID" giữa các phiếu.
|
||||
|
||||
**Diagnose (commit `835cc7f`):**
|
||||
- Root cause: button silent disabled khi `evaluation.workflow.nextPhases` không có forward phase (chỉ TuChoi/TraLai). Cause khả năng: workflow definition pinned thiếu adjacent step → `policy.NextPhasesFrom(DangSoanThao)` return empty.
|
||||
- Improvement: tooltip + dialog hiển thị reason rõ ràng:
|
||||
- `submitDisabledReason` text: "Phiếu đã ở phase X — chỉ Bản nháp/Trả lại mới sửa+gửi" / "Workflow không có phase tiếp theo từ X. Liên hệ admin kiểm tra cấu hình"
|
||||
- Button title attribute → hover show reason hoặc forward phase label
|
||||
- Dialog confirm show forward phase explicit ("Sẽ chuyển sang Chờ Purchasing")
|
||||
- Mirror fe-admin + fe-user. Build pass cả 2. KHÔNG đụng BE — chỉ FE diagnostic UX.
|
||||
- "Trùng ID" KHÔNG phải bug FE — `PurchaseEvaluationWorkspacePage` URL state đúng, mỗi PE row unique GUID + MaPhieu. Suy đoán user do button silent.
|
||||
|
||||
**Plan drastic refactor → DEFER:**
|
||||
|
||||
User confirm "bỏ phase enum hoàn toàn, dùng ChoDuyet=10 đơn nhất + currentStepIndex tracking" — refactor workflow từ phase-based + InnerStep nested model sang flat WorkflowStep model (mỗi step = Phòng × Cấp + Approvers users).
|
||||
|
||||
Edit working tree 12 files (Domain entities + EF Configurations + DbContext):
|
||||
- Phase enum +ChoDuyet=10, legacy values 2-6 deprecated
|
||||
- WorkflowStep +DepartmentId, +PositionLevel
|
||||
- Drop class WorkflowStepInnerStep + nav (PE + Contract)
|
||||
- PE/Contract +CurrentWorkflowStepIndex int?, +RejectedAtStepIndex int?
|
||||
- *DepartmentApproval drop InnerStepId column
|
||||
- EF Configurations: drop InnerStep config + nav, restore simple unique non-filtered
|
||||
- DbContext: drop DbSet<WorkflowStepInnerStep> × 2
|
||||
|
||||
Reality check scope realistic ~8-10h:
|
||||
1. Domain + EF + DbContext (~50min) ✓ done in working tree
|
||||
2. PolicyRegistry rewrite PE+Contract (~45min)
|
||||
3. App CQRS DTOs rewrite (~45min)
|
||||
4. Service rewrite PE+Contract (~2-3h)
|
||||
5. Tests rewrite — drop 12 N-stage tests + update remaining (~1.5h)
|
||||
6. Migration 21 + LocalDB apply + verify (~30min)
|
||||
7. FE Designer rewrite (~1.5h)
|
||||
8. FE PeWorkflowPanel + workflow timeline (~1h)
|
||||
9. Docs/Skill update (~45min)
|
||||
|
||||
Vượt session boundary + risk session deep ~30 commits → **REVERT working tree** về `835cc7f` clean state. Test 96 pass intact.
|
||||
|
||||
**Decision memorized:** add memory `feedback_drastic_refactor_scope.md` — drastic refactor cần dedicated session, scope estimation conservative (2x buffer), tránh mid-session big refactor.
|
||||
|
||||
## ⚠️ CẢNH BÁO Session 16+
|
||||
|
||||
1. **Drastic refactor flat workflow chưa làm — DEFER** với plan chi tiết. Khi resume:
|
||||
- Plan kỹ 6 chunk per-commit
|
||||
- Buffer 2x estimate (~16h thực tế)
|
||||
- Tests rewrite biggest risk
|
||||
- Hoặc fall back Approach Y (FE Designer flat UI giới hạn 5 phòng) ROI 1-2h nếu user OK trade-off
|
||||
2. **Task 2 sample data seed N-stage** vẫn pending (block trên DesignTime vs Runtime DB gotcha + DbInitializer seed flow)
|
||||
3. **schema-diagram §17-19 Mig 18-20** vẫn defer cron audit 2026-06-01
|
||||
4. **Hard blockers Ops** giữ nguyên 6 task
|
||||
|
||||
## TL;DR Session 14 (07/05 — PE 3-button approval workflow)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user