[CLAUDE] Docs+Memory: Plan CA wrap — gotcha #50 + Implementer Pattern 16-bis + STATUS

docs/gotchas.md:
- Add gotcha #50 "Page move cross-app Layout.tsx resolvePath staticMap missed mirror → silent sidebar drop"
- Reference Hotfix 1 commit e55d96b + Implementer Chunk B 06a441c missed point 4
- Add checklist item 25 vào "Checklist debug bug mới" section

.claude/agent-memory/implementer/MEMORY.md:
- Add Pattern 16-bis "4-place mirror checklist khi cookie-cutter copy page CROSS-APP"
- 4 places: page + Routes + menuKeys.ts + Layout.tsx staticMap
- Bug latency observed lesson + REFUSE criteria note + Reviewer Cat 1 wire claim verify suggestion

docs/STATUS.md:
- New Last updated S29 header với Plan CA cumulative summary
- 7 commits chain + 2 CI runs PASS + bundle hash rotate + multi-agent ROI breakdown
- Stats updated: 50 gotcha (+1), 13 AppRoles (+1 CatalogManager), 34 active users (+catalog.manager), 36 FE pages (+4)

Docs-only commit → CI skip per paths-ignore (gotcha #41 + #47 confirmed).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
pqhuy1987
2026-05-22 11:45:41 +07:00
parent e55d96b856
commit 6eec8d78fb
3 changed files with 85 additions and 14 deletions

View File

@ -2,7 +2,15 @@
> **Update rule:** trước khi bắt đầu 1 task → ghi row vào `🔥 In Progress`. Xong → chuyển sang `✅ Recently Done`.
**Last updated:** 2026-05-21 (Session 26 **FINAL wrap****🎯 Anh chốt 2 decisions architectural quan trọng cuối session sau khi đã commit `bf93abd`**: (1) **Approach B distributed RAG bootstrap** — em main SOLUTION_ERP chỉ build INFRASTRUCTURE + DOCS, KHÔNG bootstrap data cho 4 dự án khác (NamGroup/DH Y Dược/Ashico/Vipix). 4 em main project khác tự bootstrap khi anh mở session project đó (Cognition "writes single-threaded" boundary). (2) **Option 4a manual PowerShell scripts** thay Phase 6b Task Scheduler auto-start — anh OWN control + visibility tốt hơn qua `rag-start`/`rag-stop`/`rag-status`/`rag-dashboard` aliases + Qdrant dashboard built-in (`http://localhost:6333/dashboard`) FREE. **+1 memory user-level NEW** `feedback_rag_distributed_ownership.md` (~200 chunks added vào RAG sau khi fix bootstrap.py glob extra_corpus bug — `import glob` recursive thay vì Path manual parsing). **RAG corpus final S26:** 127 files → **2,628 chunks** (+207 chunks user-level memory entries 23 file) → ~535K Voyage tokens (0.27% free tier 200M/month). Cache SHA256 hit working PERFECT: re-bootstrap force-reindex 2nd time chỉ 6.5s (vs 60.9s initial — 10× speedup). **Rerank verify**: 5/6 query S26 content hit rerank 0.498-0.926 (Approach B distributed pattern + Option 4a manual scripts + em main project X build infra docs). Query failed "PowerShell aliases rag-start" expected — Phase 6 scripts chưa code thực tế (defer S27+). **Pending S27+ updated:** Phase 5 SKIP cho em (distributed) · Phase 6 = Option 4a scripts (em viết 4 PS1 script + add `$PROFILE` aliases) · Phase 7 = xuất `rag-onboarding-guide.md` 13 section (11 cũ + §12 monitoring + §13 distributed Approach B). **Memory user-level: 24 entries** (+1 NEW `feedback_rag_distributed_ownership.md`).)
**Last updated:** 2026-05-22 (Session 29 — **🎯 Plan CA wire DONE + Hotfix 1 deploy**: 6 commits + 1 hotfix push `3cb54e0..e55d96b` cumulative. Move "Cấu hình danh mục dùng chung" (9 menu: Master + Suppliers + Projects + Departments + Catalogs + 4 sub-catalogs) từ fe-admin → fe-user/eoffice + add role mới `CatalogManager` + demo user `catalog.manager@solutions.com.vn`. **Chunks:** A 80d39a0 BE Role + Seed (em main, 64 LOC) · B 06a441c FE move 4 master pages 948 LOC (Implementer Case 2 cookie-cutter mirror byte-identical SHA256 4 file) · C c995f42 Sidebar filter 2 app (em main, 14 LOC) · D 4a592cf Seed demo user (em main, 7 LOC) · D2 68bcedd Hotfix password ≥12 chars S22+2 policy (em main, Reviewer pre-push CATCH critical) · HF1 e55d96b Add 7 entries `resolvePath` staticMap fe-user (em main, anh UAT screenshot CATCH silent sidebar drop). **2 CI runs PASS:** Run #229 sha=68bcedd 3m32s + Run #230 sha=e55d96b 3m24s. Bundle hash 2× rotate: fe-admin `BvcWrq2z→leEMWFLU`, fe-user `Bg2FNeIz→DVBLmZlt→Dgn1iU9E`. **Multi-agent ROI Plan CA:** 🟦 Investigator 1 spawn ~15K (terrain map 9 menu + GOTCHA tree-inherit) + 🟨 Implementer Case 2 1 spawn ~10K (byte-identical mirror 4 page) + 🟥 Reviewer 2 spawn ~165K (CRITICAL catch password policy) + 🟩 CICD Monitor 2 spawn fail 529 transient (em main fallback manual smoke) + 👤 Chủ trì Solo Chunk A/C/D/D2/HF1 ~100K. **NEW gotcha #50** "Page move cross-app — `Layout.tsx` `resolvePath` staticMap missed mirror → silent sidebar drop" + Pattern reusable cross-project: **4-place mirror checklist** khi Implementer Case 2 cookie-cutter copy page (page + Routes + menuKeys.ts + Layout.tsx staticMap — Implementer Chunk B missed point 4). Implementer MEMORY Pattern 16-bis NEW. **State chốt S29 Plan CA:** 31 mig (no schema change) · 59 tables · ~146 endpoints · **36 FE pages (+4: fe-user master/{Suppliers,Projects,Departments,Catalogs}Page)** · **111 test pass unchanged** (UAT skip per chunk + cookie-cutter mirror) · **50 gotcha (+1 #50)** · 25 memory user-level · 6 skills · 4 sub-agents · **13 AppRoles (+1 CatalogManager)** · **34 active prod users (+1 catalog.manager@solutions.com.vn)**. Catalog manager login `CatalogMgr@2026` (15 chars policy compliant). 7 commits remote `3cb54e0..e55d96b`.)
**Last updated S28 prev:** 2026-05-22 (Session 28 **FINAL wrap****🎯 S28 cumulative 12+ bước (t1→t6): Startup 9-step + RAG ROI verdict + bro correction mistake + scope-down + Layer A governance apply + 4 sub-agent flush MEMORY**. Bro broadcast **Layer A governance active 2026-05-22** (3-Layer distributed: A project-local active / B shared_global defer / C infrastructure anh pqhuy). **Quên rule cũ "mọi tương tác PHẢI store_memory" — ABANDONED.** Em main SOLUTION_ERP apply Layer A scope local: **4-category default** (decision/lesson/pattern-proven-≥2×/session-wrap) + **skip list nguyên** + 5 SOLUTION_ERP-specific adjustment cho Phase 9 UAT mode + **tag schema mandatory** `[type, phase, bc-or-module]` với type closed enum 6 (decision/lesson/pattern/gotcha/bug-fix/session-wrap) + phase enum 11 (phase-0 → phase-10+, current **phase-9 UAT ACTIVE**) + BC/module enum 8 domain (contract/pe/budget/master/identity/forms/workflow/notifications) + 5 cross-cutting (tests/infra/cicd/multi-agent/governance/docs) + optional prefix 8 (tech/agent/risk/severity/commit/mig/gotcha/plan). **source_path convention** `solution_erp/<area>/<topic>-<date>`. **Eval ritual** weekly Friday 5 metric từ 2026-05-29 → end-trial 2026-06-05. **10 golden query draft** ready. **6 chunk stored S28 t2-t6:** Protocol cross-project (deprecated S28 t4 scope-down) · Conversation log S28 t1+t2 · Commit pattern acknowledge · 2-week monitoring 5 measure · Scope-down acknowledge · Layer A policy apply. **4 sub-agent flush MEMORY DONE post-S27 model:inherit fix** — registry hot-reload verified all 4 (Investigator agentId `a2462`/`aeda4`, Implementer `a2a2f`, Reviewer `a9e94`, CICD Monitor `a8098`). Each Recent activity entry S28 t1 → S28 wrap góc nhìn từng con preserved cumulative S1-S27. **NEW memory user-level `feedback_interaction_logging_rag.md` SCOPE-DOWN S28 t4** (anti-pattern over-reach self-authorize cross-project rule + implicit consent risk lesson). Stats unchanged: 31 mig · 59 tables · ~146 endpoints · 35 FE pages · **111 test pass** · 49 gotcha · **25 memory user-level (+1 NEW interaction logging scope-down)** · 6 skills · 4 sub-agents (all verified hot-reload) · **3,462 RAG chunks SOLUTION_ERP** (+6 chunk store S28) + 6 MCP tools active. **Hit rate verify 3 query**: Plan B Contract V2 rerank 0.84 ✓ + gotcha #48 rerank 0.84/0.82/0.82 ✓ + per-NV 10-surface checklist hit (token overflow) ✓ — > 0.7 threshold pass cumulative. **0 commit remote S28** (all docs + memory + RAG store — anh chốt push thủ công sau approve). Plan B Contract V2 wire kick-off pending 2026-05-22+ (8-chunk pre-allocated 🟦 Investigator pre-flight + 🟨 Implementer Case 2 ×4 + 👤 Chủ trì Solo Service ApproveV2Async + 🟥 Reviewer pre-commit + 🟩 CICD Monitor post-deploy).)
**Last updated S28 t1 initial:** 2026-05-22 (Session 28 turn 1 — **🎯 S28 startup 9-step + RAG ROI reality check em main verdict + cross-agent perspective update**. Anh restart Claude Code CLI sau S27 wrap → sub-agent registry **hot-reload OK** verified qua smoke test spawn Investigator (agentId `a2462ca503ed38b0b`, 16.3 KB MEMORY loaded, 3 skills attached: contract-workflow + permission-matrix + ef-core-migration). RAG status: **3,460 chunks SOLUTION_ERP indexed** (cao hơn S26 wrap 2,628 — re-index ngầm) + 6 MCP tools (`mcp__rag-unified__*`) loaded, Qdrant NSSM Service Running PID 4476. **Bro hỏi "cảm nhận rõ lợi ích RAG ko?"** → em main verdict thẳng thắn (anti-suger-coat): **CÓ LỢI marginal short-term (5-10% time saving), TRANSFORM long-term cross-project (chưa khai phá vì 4 em main project khác chưa bootstrap).** 4 case verdict: solo project blanket đủ ⚠️ Marginal | cross-session retrieve specific ✅ Tốt (rerank 0.84 vs 10 phút find) | cross-project 5 dự án 🚀 **TRANSFORM** (chưa dùng được) | heavy refactor Plan B-class ✅ Tốt. **3 nhược điểm cảm nhận thật:** (1) Bootstrap lag — S27 NEW content (`feedback_subagent_setup_pitfalls + skill-audit-late + 4 MEMORY post-curate + rag-onboarding-guide`) chưa index sau 1 ngày, query "subagent setup pitfalls" return **0 hits** (re-bootstrap pending pydantic fix); (2) Effective coverage gap — Plan B query rerank 0.84 excellent vs S27 content 0 hit miss; (3) Token cost rerank-2.5 ~$0.05/1K query (0.24% free tier Voyage). **Bottom line:** RAG đáng giữ cho infrastructure đã đầu tư S26-S27 (60.9s bootstrap + NSSM Service auto-start + Custom Dashboard 7 panel), **nhưng nếu redo từ đầu** sẽ recommend bro đợi bootstrap 5 dự án rồi mới claim "RAG transform" — solo project chỉ saving marginal. **Pattern reusable cross-project — RAG ROI evaluation framework:** 1 dev solo + 1 project < 1M tokens Skip RAG | > 1M tokens → ⚠️ Marginal (5-10%) | N project > 5M tokens → ✅ Worth (cross-project transform) | N dev team enterprise → ✅ Mandatory. Avoid over-hype RAG cho solo 1 project. **Update multi-layer 6 file:** memory user-level `feedback_rag_hybrid_pattern.md` append §S28 t1 ROI reality check (~120 LOC NEW section) + 4 agent MEMORY Recent activity entry góc nhìn từng con (🟦 Investigator: pre-flight audit cross-session retrieve Plan B-class · 🟨 Implementer: Pattern proven retrieve cumulative 19 Pattern foundation · 🟥 Reviewer: gotcha historical context cross-ref #44+#48+#49 · 🟩 CICD Monitor: Run history cross-reference #186-#222 cumulative + 10-surface-point per-NV checklist promoted foundation) + STATUS.md + HANDOFF.md headers. **Bro sẽ cross-check** 4 agent consistency (next test: spawn 4 agent với same prompt verify alignment). Stats unchanged: 31 mig · 59 tables · ~146 endpoints · 35 FE pages · **111 test pass** · 49 gotcha · **24 memory user-level (no new entry, only append §S28 t1)** · 6 skills · 4 sub-agents (registry hot-reload verified post-S27 fix) · 3,460 RAG chunks + 6 MCP tools active. **0 commit remote S28 t1** (all docs + memory update + retrospective opinion - anh chốt push thủ công sau approve).)
**Last updated S27:** 2026-05-22 (Session 27 chốt cuối — **🎯 Memory Curate + RAG Manual Control + Multi-agent Setup Pitfalls Fix**. **Trigger:** Anh share VIPIX `docs/guides/multi-agent-pitfalls.md` → em audit SOLUTION_ERP setup phát hiện CHÍNH XÁC CÙNG PATTERN broken: 4 file `.claude/agents/*.md` dùng `model: claude-opus-4-7` (200K silent fallback) + non-standard `effort: max` field → registry chưa load cả session S27. **Fix applied:** 4 file → `model: inherit` + remove `effort: max`. **Pending:** Anh restart Claude Code CLI để hot-reload. **Memory user-level NEW:** `feedback_subagent_setup_pitfalls.md` 235 lines cross-project pitfall checklist. **Plan A.3 RAG Manual Control + Option 4b NSSM Service:** 7 PS scripts + 6 `$PROFILE` aliases + Startup folder shortcut + Custom Dashboard HTML 7 panels. NSSM Windows Service Qdrant Running PID 4476 RAM 101.8 MB. **Plan A.4 RAG Onboarding Guide:** 42.5 KB / 682 lines / 14 sections + §A2 + §A3. **Plan F1 Qdrant Web UI fix:** Download dist-qdrant.zip 6.59 MB → HTTP 200 "UI | Qdrant". **Memory Curate 4 MEMORY -60%** (180.6→72.0 KB, archive 115 KB preserved §6.5). **Audit drift §6.4+§9.4 sớm** (trigger +8 gotcha): 5 file patched + log `docs/changelog/skill-audit-2026-05-late.md`. **0 commit remote S27** (all local).)
**Last updated S26 FINAL:** 2026-05-21 (Session 26 **FINAL wrap****🎯 Anh chốt 2 decisions architectural quan trọng cuối session sau khi đã commit `bf93abd`**: (1) **Approach B distributed RAG bootstrap** — em main SOLUTION_ERP chỉ build INFRASTRUCTURE + DOCS, KHÔNG bootstrap data cho 4 dự án khác (NamGroup/DH Y Dược/Ashico/Vipix). 4 em main project khác tự bootstrap khi anh mở session project đó (Cognition "writes single-threaded" boundary). (2) **Option 4a manual PowerShell scripts** thay Phase 6b Task Scheduler auto-start — anh OWN control + visibility tốt hơn qua `rag-start`/`rag-stop`/`rag-status`/`rag-dashboard` aliases + Qdrant dashboard built-in (`http://localhost:6333/dashboard`) FREE. **+1 memory user-level NEW** `feedback_rag_distributed_ownership.md` (~200 chunks added vào RAG sau khi fix bootstrap.py glob extra_corpus bug — `import glob` recursive thay vì Path manual parsing). **RAG corpus final S26:** 127 files → **2,628 chunks** (+207 chunks user-level memory entries 23 file) → ~535K Voyage tokens (0.27% free tier 200M/month). Cache SHA256 hit working PERFECT: re-bootstrap force-reindex 2nd time chỉ 6.5s (vs 60.9s initial — 10× speedup). **Rerank verify**: 5/6 query S26 content hit rerank 0.498-0.926 (Approach B distributed pattern + Option 4a manual scripts + em main project X build infra docs). Query failed "PowerShell aliases rag-start" expected — Phase 6 scripts chưa code thực tế (defer S27+). **Pending S27+ updated:** Phase 5 SKIP cho em (distributed) · Phase 6 = Option 4a scripts (em viết 4 PS1 script + add `$PROFILE` aliases) · Phase 7 = xuất `rag-onboarding-guide.md` 13 section (11 cũ + §12 monitoring + §13 distributed Approach B). **Memory user-level: 24 entries** (+1 NEW `feedback_rag_distributed_ownership.md`).)
**Last updated S26 initial wrap:** 2026-05-21 (Session 26 chốt cuối lần đầu — **🎯 S26 cumulative wrap: 6 plan PE List tree view UI iteration + Plan AI RAG global MCP infrastructure setup**. **Plan AG/AG2/AG3/AG4/AG5/AG6** cumulative 6 commits Plan AG series `0bf6c7e..d99069a` push remote — UAT feedback bro Tra Sol 2026-05-21 screenshot "UI Duyệt NCC như đám rừng" → folder tree giống Outlook: **Plan AG** Phase 1 PE List tree view 2-level Project > Gói thầu > PE (Investigator audit 5Q + Implementer Case 2 cookie-cutter mirror 2 app + Reviewer pre-commit PASS 0 blocker + CICD Monitor Run #222 PASS bundle hash rotate). **Plan AG2** simplify 1-level (drop tầng gói thầu) + Panel 1 widen 340→400px. **Plan AG3** drop single-PE flat branch, consistent UI (mọi dự án dù 1/N phiếu đều render `<details>`). **Plan AG4** bổ sung Người tạo + Phòng ban tạo PE card — BE DTO `PurchaseEvaluationListItemDto` +4 fields (DrafterUserId/DrafterName/DepartmentId/DepartmentName) + 3 projection JOIN Users+Departments LEFT (ListHandler/InboxHandler/ApprovedHandler) + FE `PeListItem` type +4 fields + UI card render 👤 Drafter · Phòng ban. **Plan AG5** extend tree 3-level Project > Năm > NCC > PE (selectedSupplierName fallback "(Chưa chọn NCC)" cho PE chưa DaDuyet). **Plan AG6** compact card 3-row gọn đẹp (drop Type label redundant + combine mã phiếu/time + Drafter/Dept/HĐ inline). **Plan AI RAG global MCP setup** (User-level Approach A — 1 dev 5 dự án cùng máy localhost) — Phase 0 pre-flight + Phase 1 Qdrant v1.18.0 Windows native binary (KHÔNG Docker, PID 67240 port 6333) + Phase 2 FastMCP server ~1100 LOC Python 9 file (server.py + lib/embed.py voyage wrapper + lib/retrieval.py 3-layer pipeline + lib/projects.py auto-detect cwd + lib/chunking.py contextual prepend + lib/watcher.py) + Phase 3 register MCP user-level (`claude mcp add` với `--` separator trick) + Phase 4 bootstrap SOLUTION_ERP 126 files → **2,392 chunks indexed 60.9s** (~484K Voyage tokens = 0.24% free tier 200M/month). 4 test queries verified end-to-end recall: "gotcha #45 PE button TraLai" 0.641 / "admin opt-in per-NV" 0.836 / "EF migration backfill" 0.766 / "multi-agent setup" 0.879. Stack: Voyage-4-large embedding + Voyage rerank-2.5 + Qdrant Windows native + SQLite FTS5 BM25 + Reciprocal Rank Fusion + Anthropic Contextual Retrieval prepend + FastMCP 3.3.1 stdio. **+1 file MD onboarding `docs/guides/multi-agent-setup-guide.md`** xuất cho 4 dự án future (NamGroup/DH Y Dược/Ashico/Vipix detected từ Claude Desktop config epitaxy folder permission). Multi-agent execution S26: 🟦 Investigator 2 spawn (Plan AG audit 5Q ~30K + Plan AI RAG distribution research ~40K — 4 study cases Cursor/Cline/Continue/Sourcegraph) + 🟨 Implementer 1 spawn (Plan AG Case 2 cookie-cutter ~16K) + 🟥 Reviewer 1 spawn (Plan AG pre-commit ~25K PASS 0 blocker) + 🟩 CICD Monitor 1 spawn (Run #222 verify ~12K). Em main solo Plan AG2-AG6 + Plan AI Phase 0-4 (UI polish iteration + RAG infra setup — cost ROI thấp nếu spawn 5×). Stats final S26 chốt: **31 mig (no schema)** · 59 tables · ~146 endpoints · 35 FE pages · **111 test pass unchanged** (UAT defer test-after) · 49 gotcha unchanged · 23 memory user-level unchanged · 6 skills · 4 sub-agents · **+1 docs file `multi-agent-setup-guide.md`** + **+1 RAG infrastructure** `D:\.claude-rag\` (server + lib + qdrant-bin + data). Patterns reusable cross-project (3 NEW S26): (1) HTML native `<details>/<summary>` + Tailwind named groups `group/proj` + localStorage Set<string> cho hierarchical tree UI when no Accordion lib available (Pattern 19 Implementer NEW), (2) RAG User-level Global MCP 1 server localhost serve N project (Approach A Plan AI), (3) Qdrant Windows native binary deployment (no Docker overhead — appropriate cho 1 dev solo scenario, không scale enterprise). **Memory FLAG**: cicd-monitor MEMORY ~74KB (+2KB từ S25), critical curate session URGENT next.)