# 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 40 — init audit + **doc consolidation**: tier STATUS/HANDOFF 393KB→lean, re-ground count drift, fix stale credentials. 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 | 3076 | ⚠️ S37-S39 content gap (re-ingest pending) | **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) ### 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 170KB→5.7KB + HANDOFF 224KB→3.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 (~130KB→41KB, 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. investigator→codebase+api · implementer→backend+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.