Files
solution-erp/docs/changelog/sessions/2026-06-16-S67-hoso-visual-pe-link-research.md

43 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# S67 (2026-06-16) — Hồ sơ NS visual polish + fe-admin mirror + PE Link hồ sơ auto-detect/file-link + research auto-open
**Mode:** HMW-ON · lead Opus 4.8 1M (Fable down H5) · 6 deploy prod-verified Run #297#302 · anh + anh Kiệt FDC UAT realtime.
## Dòng việc (anh chỉ đạo realtime)
`/session-start` → "đồng nhất font + chữ đen→xanh đậm" (Hồ sơ NS fe-user) → deploy → `/ultra-on` "làm nhanh hết sức" → "list còn đen + chữ to tràn sliderbar, đồng nhất cỡ" → chat anh Kiệt vụ HoSoLink (`O:\` ổ mạng) → "cho link đi" → "auto direct sang đc ko? cho workflow research" → "file:// đc mà cu" (screenshot Chrome mở `file://D:/`) → "cho link file://" → "registry phức tạp thôi khỏi" → `/session-end`.
## 6 deploy
| Run | Commit | Việc | Bundle |
|---|---|---|---|
| #297 | `ab4e681` | fe-user Hồ sơ NS: đồng nhất font/size (mono value 12→14px) + chữ value/tên đen `slate-900`→**`brand-800`** (#175685, WCAG-AA ~7.4:1) qua `Field` dùng-chung (1 sửa = ~40 ô) + 9 vị trí tên/heading/inline | user `BumgrwCJ` |
| #298 | `292d64d` | **fe-admin mirror master-detail**: vá `index.css` (+4 accent palette + 4 utility class) TRƯỚC → `cp` page (1602 dòng SHA256 identical). Đóng pending lớn nhất HRM go-live | admin `xkSz9BfE` |
| #299 | `bcd619d` | **+23 test-after HRM → 286** (DepartmentTree 8 + PeHoSoLink 9 + HrmProfilePermissionSeed 6) | both frozen (BE-only) |
| #300 | `91aaf05` | **list flex-row gọn**: bảng 3-cột (tràn ngang rail 22rem) → flex-row 1-ô/dòng truncate + `overflow-x-hidden`. Cỡ chữ 18/14/13/11px ×2 | admin `PxiZQkaw`/user `B36hGoKd` |
| #301 | `6df1b2d` | **PE Link hồ sơ auto-detect**: `http(s)`→hyperlink bấm-mở / `O:\`→chữ+nút Copy | admin `I1fpLeYw`/user `DrQYkzh0` |
| #302 | `536dd6b` | **Link `O:\` render file://** bấm-thử + Copy dự phòng (`toFileUrl`) | admin `CcrZqfht`/user `DniDFUB_` |
## Workflow research — auto-mở `O:\` từ web (3 investigator-api song song)
**Verdict:** KHÔNG có cách one-click + zero-install thuần web. **CÁCH DUY NHẤT** bấm-mở-thẳng không-cài-per-máy = **Edge GPO `IntranetFileLinksEnabled`**:
- `HKLM\SOFTWARE\Policies\Microsoft\Edge\IntranetFileLinksEnabled=1` + `eoffice` trong IE Intranet Zone (SiteToZoneAssignmentList) — 1 GPO domain, không đụng từng máy.
- Điều kiện: **Edge-only** (Chrome KHÔNG có policy tương đương → buộc extension per-máy), HTTPS, lần đầu prompt external-protocol.
- Default browser (Chrome/Edge/FF 76+): click `file://` từ https = **CHẶN HOÀN TOÀN** ("Not allowed to load local resource", no-op).
- `.url` download = zero-install nhưng **2-click** + SmartScreen/MoTW. `.lnk` tệ hơn (CVE-2024-38217 AV chặn). File System Access API không mở path cho-sẵn. → đều thua.
- Nguồn: textslashplain.com/2019/10/09 · learn.microsoft.com/.../intranetfilelinksenabled · .../urlallowlist (file://* không work).
## §L closeout
- **§L.a:** 0 RCA mới. #53 truncate (test-specialist return cut) = class đã có guard (recover-from-disk). cwd-after-build git-add fail (build `cd ../fe-admin` → cwd kẹt) = minor shell-hygiene, recover ngay (quay root). Không nâng RCA.
- **§L.b(d) harvest:** 3 sub self-record on-return (cicd-monitor 6 run · investigator-codebase recon · investigator-api 3 research). **test-specialist PROXY-RECORD** (return truncated #53 → chưa tự ghi MEMORY → em main append baseline 254→286 + pattern reflection-seed).
- **§L.b(c) chore-flag:** ⚠️ cicd-monitor MEMORY **39.8KB** + investigator-codebase **39.4KB** over ~30KB cap (re-inflated S67: 6 cicd-run verbose + recon). Curate next session (move runs cũ → `archive/2026-06.md`).
- **§L.b(f) harvest GATE:** Coverage 4 sub (3 self + 1 proxy) · Completeness OK · Placement đúng `agent-memory/X` · Corruption 0-byte=0 (test-specialist intact 74L, không phải 0-byte — chỉ thiếu session entry) · Fidelity: test-specialist proxy honest-marked. PASS.
- **§L.b(g) tooling:** roster 11 unchanged · 0 skill/plugin mới · gotcha 65 (không phát sinh) · Workflow tool dùng lần đầu cho research (3 investigator-api qua schema StructuredOutput → return reliable 3/3, đối lập FE/reviewer empty-return S65 — data-point: research-fan-out tin được, write/verify-stage không).
## Lessons
- **Mirror cross-app cần vá `index.css` TRƯỚC khi `cp` page** nếu trang dùng accent token mới (Tailwind v4: token thiếu → class emit-RỖNG = "vỡ màu im lặng", build vẫn PASS). recon token-parity = bắt buộc trước mirror.
- **Workflow research-fan-out (investigator-api read-only + schema) RELIABLE** trong harness này (3/3 return) — khác write/reviewer-stage hay empty-return (#53). → chọn Workflow tool cho research/audit fan-out OK; verify-heavy write vẫn cân nhắc em-main self-gate.
- **Browser file:// block** = recurring "mở file local từ web" question → đã lưu memory `project_hosolink_open_from_web_browser_block`.
## 🔴 NEXT
- anh test link `O:\` (mở/no-op) → quyết IT-guide Edge GPO · visual list+màu ưng chưa (đổi `brand-700` nếu nhạt hơn).
- em: curate cicd-monitor + inv-codebase over-cap · doc-flush docs/CLAUDE.md count.
- Ops anh giữ S58/S59. Cert ~07-23. Monthly audit 2026-07-01.