Files
solution-erp/docs/STATUS.md
pqhuy1987 ad1dea9349 [CLAUDE] Docs: S41 close-out — record RAG corpus cleanup (3080->2406, 5/5 store_memory preserved)
STATUS + HANDOFF: S41 episode — exclude **/-anchor fix + AI_INFRA re-bootstrap +
store_memory reconcile (3 broadcast twin + audit-response twin + catch-up promoted-to-disk).
RAG chunks 3076->2406. SE post-verify PASS. Next S42 = product focus (Phase 11 / test gaps / Ops).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 23:30:50 +07:00

107 lines
7.7 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.

# STATUS — Snapshot hiện tại
> **Update rule:** trước khi bắt đầu 1 task → ghi row `🔥 In Progress`. Xong → `✅ Recently Done`.
> **Tiering rule (S40):** chỉ giữ **state hiện tại + 3 session gần nhất** ở file này. Session cũ hơn → `docs/changelog/sessions/`. Full history pre-S40 → `docs/_archive/STATUS-preS40-fullhistory.md`. (Tránh over-context — xóa double, không cắt nội dung.)
**Last updated:** 2026-05-29 (Session 41 — **RAG corpus cleanup** w/ AI_INFRA: exclude `**/`-anchor fix + re-bootstrap 3080→2406 (674 junk) + 5/5 store_memory preserved. KHÔNG feature/schema change.)
---
## 🎯 CURRENT STATE (verified S40)
| Metric | Value | Note |
|---|---|---|
| Migrations | **40** | last `AddAttendances` (20260528090839) |
| SQL tables | **84** | 77 app DbSet + 7 ASP.NET Identity (`.ToTable()` in ModelSnapshot) |
| API endpoints | **~211** | `[HttpVerb]` attrs in Controllers |
| FE pages | **65** | 36 fe-admin + 29 fe-user (`*Page.tsx`) |
| Menu keys | **~53** | BE `MenuKeys` const (FE menuKeys.ts mirror 54) |
| Tests | **130 PASS** | 58 Domain + 72 Infra · 0 fail / 0 skip (~15s) |
| Gotchas | **55** | `docs/gotchas.md` (latest #54 529-fallback, #55 truncation-mid-exploration) |
| User memory | 27 | + `MEMORY.md` index |
| Skills | 6 | 3 domain + 3 ops |
| Sub-agents | **7** | Opus 4.8 1M (S39 split 4→7) |
| RAG chunks | **2406** | ✅ S41 re-bootstrap clean (3080→2406, 674 junk: node_modules+_archive now excluded; user-memory 60 chunks/10 files slug-fixed + S38-S41 indexed) |
**Bundle hash live (prod):** admin `cWAXid0q` · user `CX79e2kZ` (Run #247, S38).
**Phase:****Phase 10 COMPLETE 11/11** Plan G-* · ⬜ Phase 11 polish NOT started · 🚫 Phase 9 Ops blocked (anh main coordinate).
> ⚠️ **Count drift fixed S40:** endpoints ~223→**211**, FE pages 53→**65**, menu keys 85→**~53**. Tables **84 confirmed correct** (DbSet 77 + Identity 7). 3 số "khó fake" (mig/gotcha/git) luôn đúng. Cause: số "incremented mỗi session" over/under-count optimistic — re-ground định kỳ.
---
## 🔥 In Progress (S40)
| Task | Owner | Status |
|---|---|---|
| _(none — S40 maintenance combo ALL DONE)_ | — | ✅ |
**S40 done:** ✅ Consolidation (`d2f52ba`) · ✅ Curate 4 agent MEMORY >25KB→<8.4KB (`78c9de3`) · RAG catch-up chunk S37-S40 (rerank 0.867) · **AI_INFRA bulletin 2026-05-29 adopt 4/4** (MỤC2 Tiered Memory Policy v1 `6f08d1f` + MỤC3 /session-start+/session-end slash commands `c8ff5e1`). Full RAG re-index = AI_INFRA op (cần VOYAGE_API_KEY).
> ⚙️ **NEW slash command** (`.claude/commands/`) — anh main **restart CLI** để activate (không hot-reload) → session sau gõ `/session-start` + `/session-end` thay paste prompt thủ công.
---
## ✅ Recently Done (newest on top — 3 session; cũ hơn → session logs)
### S41 (2026-05-29) — RAG corpus cleanup (w/ AI_INFRA)
- AI_INFRA RAG audit SE-side prep: `.claude/rag.json` exclude root-anchored`**/`-anchored (defeats gotcha #10: `node_modules/**`+`docs/_archive/**` weren't matching nested paths) + retired stale `_decision_log` "+321%/11,922".
- **store_memory reconcile (anti-data-loss, NAMGROUP lesson):** unified at-risk rule = content reproducible từ file {exists matches corpus glob not excluded}. 5/5 accounted: 3 broadcasts disk-twinned + `16a6b6db` audit-response twin-safe + `0307141b` S37-S40 catch-up **promoted-to-disk** (`docs/changelog/sessions/2026-05-29-S37-S40-rag-catchup.md` anchor was virtual, not real STATUS section).
- AI_INFRA re-bootstrap host-side `--config`: **3080→2406** (674 junk), node_modules=0 / _archive=0 / manual-marker=0, user-memory 60 chunks (slug fix). SE post-verify PASS (promoted catch-up returns file-indexed real heading, not `(manual)`). Commits `282cbd0`+`e8cbbe5` pushed (docs/infra CI skip).
- Standing infra backlog (AI_INFRA, non-blocking): bootstrap glob0 warn · auto_reindex hook fire · search_code corpus gap (src/*.cs+fe/*.tsx, v0 design) · registry sync.
### S40 (2026-05-29) — Init audit + doc consolidation
- 7-agent smoke verify (🟪 test-specialist + 🟦 investigator-api load OK), RAG re-rank PASS (top 0.8789 Voyage rerank-2.5), 130 test confirm.
- Doc consolidation: STATUS 170KB5.7KB + HANDOFF 224KB3.4KB (archive full `docs/_archive/`). Count re-ground (endpoints 211, FE pages 65, menu ~53; tables 84 confirmed). Stale credential `admin@solutionerp.local``admin@solutions.com.vn` fixed. CLAUDE.md root patch (mig/table/test).
- Curate 4 agent MEMORY >25KB→<8.4KB (~130KB41KB, foundation preserved + verbatim git). RAG store_memory S37-S40 catch-up chunk. 2 commit push `d2f52ba`+`78c9de3` (docs-only CI skip).
### S39 (2026-05-29) — ⚙️ INFRA: Opus 4.8 1M + Multi-agent 4→7 + budget +50%
- Pure infra/governance, 1 commit `fd0554a` (docs CI skip). Model default Opus 4.8 1M. investigatorcodebase+api · implementerbackend+frontend · +test-specialist (purple). 5 RAG MCP/agent. 2 gotcha NEW #54 (529 fallback) + #55 (truncation mid-exploration). CLI restart registry hot-reload (done S40).
- `docs/changelog/sessions/2026-05-29-S36-S39-phase10-complete-7agent.md`
### S38 (2026-05-28) — 🎊 PHASE 10 COMPLETE 11/11 (SKELETON combo)
- Mig 39+40 + BE ~1100 LOC + FE 5 file × 2 app + 8 menu. Run #247 PASS 3m25s. G-O4/O5/O6/P1/H3 skeleton. Trade-off DEFER Phase 11: ApproveV2 wire + LevelOpinions per-module + LeaveBalance + CodeGen atomic + Vehicle/Driver catalog + ItTicket auto-assign/SLA.
- same session log
---
## 🎯 Next up
### ⬜ Phase 11 — Polish/wire skeleton (NEXT plan lớn)
- **P11-A** wire ApproveV2 + LevelOpinions 4 module (Leave/OT/Travel/Vehicle) 👤 schema + 🟨 BE + 🟧 FE + 🟪 test + 🟥 reviewer + 🟩 cicd
- **P11-B** LeaveBalance business logic (👤 cross-stack) · **P11-C** Vehicle+Driver catalog Mig 41 · **P11-D** ItTicket auto-assign + SLA timer · **P11-E** AttendanceReport + Excel + OtPolicy multiplier · **P11-F** CodeGen atomic MaDonTu/MaTicket
### 🔧 Maintenance backlog
- Curate 4 agent MEMORY >25KB: investigator-codebase 35.7 / cicd-monitor 35.3 / implementer-backend 30.9 / reviewer 28.4
- RAG re-ingest `solution_erp` S37-S39 content (Proposal/WorkflowApps/7-agent)
- Test coverage gaps: **Gap1** HrmConfig Holiday composite UNIQUE (🔴 CRITICAL) · **Gap2** EmployeeSatellite cascade · **Gap3** gotcha #44 regression `EmployeesController`+`HrmConfigsController`
- Skill + doc drift audit cron **2026-06-01**
### 🚫 Phase 9 Ops (blocked — anh main coordinate)
- SMTP email outbound · Rotate prod creds · SQL auto-backup (backup-sql.ps1 ready, chờ Task Scheduler register) · UAT 2-3 user 1 tuần
---
## 🚨 Blockers / risks
- ⚠️ **Email SMTP chưa có** — blocker notification outbound
- ⚠️ **Credentials trong chat** — rotate trước go-live thật
- ⚠️ **SQL backup chưa auto** — risk data loss (script ready, chờ register)
- ⚠️ **UAT real user chưa chạy** — risk edge-case bug
- ⚠️ **Cert** `api.solutions.com.vn` expire ~2026-07-23 (auto-renew ~06-23)
---
## 🔑 Credentials + URLs
```
Prod login: admin@solutions.com.vn / Admin@123456 (⚠️ rotate sau login đầu)
```
- API prod `https://api.solutions.com.vn` (`/health/live` + `/health/ready`) · dev `http://localhost:5443` (`/swagger`)
- Admin FE prod `https://admin.solutions.com.vn` · dev `:8082`
- User FE prod `https://eoffice.solutions.com.vn` · dev `:8080`
- Gitea `https://git.baocaogiaoduc.vn/vietreport-admin/solution-erp` · SSH `ssh vietreport-vps`
- SQL prod `.\SQLEXPRESS` / `SolutionErp` · dev `(localdb)\MSSQLLocalDB` / `SolutionErp_Dev`
---
> **Session history:** S0→S39 full detail trong `docs/changelog/sessions/` + `docs/_archive/STATUS-preS40-fullhistory.md`. File này chỉ giữ state hiện tại + 3 session gần nhất.