Files
solution-erp/.claude/agent-memory/frontend-designer/archive/2026-06.gist.md
pqhuy1987 881783c335 [CLAUDE] Docs: S96 monthly drift audit + FD memory distill + mega-line re-tier
Monthly drift audit (2026-07-01, cron ngày 1) — workflow-prepared (wf_2d687d27-175, 4 clusters draft→adversarial-verify), em-main single-writer applied:
- ef-core-migration/SKILL.md: latest-mig 56→59 + append table rows 57/58/59 + Mig 14 + Phase-7 Budget annotate DROPPED Mig 50 (S61)
- skills/README.md: ef-core row Mig 55→59/S87 + gotcha cite #69→#76 (5 latest, authoritative gotchas.md headings)
- docs/CLAUDE.md: Budget module marked REMOVED Mig 50 — §1 item 6 + roadmap Phase 7/8 rows (strike-through, non-destructive)
- docs/governance/vocab-alias-map.md (NEW): 3 vocab-forks documented (run-trace / Ngân sách PRO / all-inherit canonical) + governance-detectors.ps1 $ExcludeExact entry (anti self-match)
- re-tier STATUS/HANDOFF mega-line 5→3 blurbs (S92/S91 → archive verbatim, conservation delta=0, BOM preserved) + hoist 3 UAT-carry items to blockers

FD memory distill (H17 loop strike-1 → CLEARED, GAPS: none):
- frontend-designer L1 26129B→21492B: 5 old Activity war-stories → archive/2026-06.md + _INDEX + gist; Lessons value-protect distilled to L1
- budget.json measured.frontend-designer refreshed

Detector 27→25 (2 real drift cleared; remaining = documented false-positives module-local/never-built-defer). AS-10 residual reviewer sub-write reverted (git-diff backstop, E-006 recurrence — guard HELD).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 13:04:15 +07:00

3.2 KiB
Raw Blame History

frontend-designer — archive 2026-06.gist (L2 distill · 4-field · distill-gen 1)

Coverage-gate: every gotcha#/lesson/file:line/root-cause/surprise in 2026-06.md verbatim survives here (or N/A). Distilled @S96 (2026-07-01) from 2026-06.md. FROZEN once written; re-distill bumps distill-gen.

S66 hrm-2col-refine (2026-06-16)

  • task: HRM Hồ sơ Nhân sự fe-user REFINE (anh prod-feedback): layout 3-cột→2-cột + tô màu detail (ACCENT 5-tone brand/teal/violet/amberx/greenx).
  • verdict: build PASS 0 TS 495ms; 5 satellite CRUD + 15 api endpoint + 3 query keys VERBATIM (grep+tsc).
  • learned: 2-col lg:grid-cols-[22rem_1fr] xl:[24rem_1fr]; left = tree(top, max-h-44%)+list(bottom) độc-lập-cuộn; Card accent prop → icon-chip tinted + head text-{x}-700 + rail pseudo.
  • surprise/gotcha: accent palettes NO -800 (chỉ 50/100/500/600/700) → head -700 else silent no-class; rail pseudo cần before:content-['']; atomic-Write cả-file = anti-truncation #53.

S65 hrm-3panel (2026-06-16)

  • task: EmployeesListPage 1201→~1140 LOC → [Org tree | List | Detail 5-tab] master-detail (NamGroup-ref).
  • verdict: build PASS 0 TS 6.13s; 5 CRUD + 16 api + query keys VERBATIM.
  • learned: ONE atomic Write whole-file = anti-#53 (lands-fully-or-errors, no half-break); emit change-list BEFORE build; org-tree consume /departments/tree (DepartmentTreeNodeDto).
  • surprise/gotcha: mojibake garbage token 网络Placeholder in lucide import (autocomplete) → removed, node-checked 21 icons.

S58 fe-user-redesign (2026-06-11)

  • task: mirror fe-admin S55 design-system → 14 file fe-user, KEEP brand #1F7DC1.
  • verdict: build ×2 PASS 0 TS; shipped e959f72 (em-main PROXY — FD truncated #53 mid-run).
  • learned: rubric = AI_INFRA ui-ux-design-guide.md 13-mục (density 14px/h32/radius-8/thead-sticky/action-luôn-hiện). LESSON: 2× consecutive truncate at SAME point (start of FD2 screenshot rig) → EMIT file-list+build verdict BEFORE screenshot loop.
  • surprise/gotcha: #53 truncate at rig-entry (2nd consecutive); authed visual via deploy (rig gotcha #3 standing).

S55 density-namgroup (2026-06-09)

  • task: Phase-1 fe-admin redesign density-first (NAMGROUP-ref, 14 file), KEEP brand.
  • verdict: build 0 TS; em-main proxy (truncated #53). → S58 mirrored to fe-user.
  • learned: density ladder (Button h-7/8/10 brand-ring); brand #1F7DC1 + Be Vietnam Pro kept.
  • surprise/gotcha: visual loop BLOCKED by authed-rig #3 → chỉ /login screenshot.

S47 fd2-rig-verified (2026-06-02)

  • task: first real spawn — run full FD2 visual-verification loop end-to-end on fe-user /login.
  • verdict: loop REAL (screenshot 375+1440 → FD4 critique → 1-line contrast fix slate-500→600 → re-shot → build 0 TS); closes adap-report FD2 runtime proof.
  • learned: Tailwind v4 CSS-first (no config.js; tokens in index.css @theme, brand-600=#1f7dc1); with_server.py rig pattern (Python Playwright not npm).
  • surprise/gotcha: 2 Vite gotchas — (1) networkidle NEVER fires (HMR ws) → domcontentloaded+wait_for_selector; (2) first cold goto dep-optimize >15s → warm-up goto 60s timeout.