c39ba9d28eeecb1fae8fc2dbc88fe6982ec63b25
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m31s
W5a -- harness-11-engine.md: 4 hit roster -> 0 occurrence (do bang grep -o|wc -l, KHONG grep -c).
:269 "12 sub tools:" -> "sub read-only tools:"
:322 "MOI vai roster 12" -> "MOI vai trong roster hien-hanh" + tro canonical
:332 GAP-1 "nhan ca 12 vai" -> "nhan TOAN roster" + lich-su 9->12->14 + tro canonical
:345 x2 -- BAY MEGA-LINE: sua phan "(i) Vai owner-gan" roi VAN con "VALID_ROLES = 12"
o doan SAU cua CHINH DONG DO. Sua 1 cho tuong xong = dung bay grep -c da ghi WAL 2 lan.
+ danh-sach vai khai ro la BAN SAO; nguon that = hmw.js VALID_ROLES :22-36; lech => tin hmw.js.
W5b -- scripts/governance-detectors.ps1:363 bug $userMemDir:
TRUOC: $userMemDir = 'C:\Users\pqhuy\.claude\projects\D--Dropbox-...\memory'
...nam NGAY DUOI comment ghi "Derive from this machine's project slug".
=> Comment mo-ta Y DINH; code hardcode ca path tuyet-doi LAN username. Loi noi doi
nam ngay canh dong no noi doi ve.
2 HAI CU-THE (khong phai style):
1) -RepoRoot <cay-tam> VAN doc user-memory THAT => fault-inject KHONG co lap duoc
=> teeth-test C1-wikilink bat-kha-thi => cong-cu dung de CHUNG-MINH-CO-RANG
lai khong co rang cua chinh no.
2) hardcode 'pqhuy' => may/acc khac se im lang roi xuong else-branch, va mot su
degrade IM LANG doc y het "sach".
SAU: $projectSlug = $RepoRoot -replace '[:\/_]', '-'
$userMemDir = Join-Path $env:USERPROFILE ".claude\projects\$projectSlug\memory"
VERIFY 2 CHIEU (do that, khong suy):
- slug derive tu RepoRoot that == literal hardcode cu, KHOP 100%; Test-Path = True
=> hanh-vi KHONG doi (TOTAL van 45, user-memory van duoc quet)
- -RepoRoot cay-tam => slug khac => "[note] user-memory path not reachable (...fake-repo\memory)"
=> CO LAP; ro path THAT = 0 hit.
SWEEP CUOI toan repo: 8 hit / 6 file, 0 cai thuoc nhom "doc dan-xuat khai so roster SAI
nhu su-that hien-hanh" => acceptance MOI FIX#6 DAT; nhom "chua toi luot" nay RONG sau W5.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
SOLUTION_ERP
Hệ thống quản lý Hợp đồng Nhà cung cấp / Thầu phụ / Tổ đội cho Công ty TNHH Xây dựng Solutions.
📘 AI context:
CLAUDE.md(pointer) →docs/CLAUDE.md(full)
Quick start (dev)
Yêu cầu: .NET 10 SDK, Node 20+, SQL Server (local hoặc qua Docker).
# 1. DB — chạy SQL Server qua Docker (nếu chưa có local)
docker compose up -d
# 2. Backend — migration + run Api (port 5443)
dotnet ef database update --project src/Backend/SolutionErp.Infrastructure --startup-project src/Backend/SolutionErp.Api
dotnet run --project src/Backend/SolutionErp.Api
# 3. Frontend admin (port 8082) — terminal mới
cd fe-admin
npm install
npm run dev
# 4. Frontend user (port 8080) — terminal mới
cd fe-user
npm install
npm run dev
Admin mặc định (sẽ seed sau Phase 1): admin@solutionerp.local / Admin@123456
Architecture
fe-admin (:8082) fe-user (:8080)
│ │
└────── /api proxy ──────┘
▼
SolutionErp.Api (:5443)
│
┌──────────────┼──────────────┐
▼ ▼ ▼
Application Domain Infrastructure ── SQL Server
Tech stack
- Backend: .NET 10 + Clean Architecture + CQRS (MediatR) + FluentValidation + AutoMapper + EF Core + ASP.NET Identity + JWT
- Frontend: React 18 + Vite + TypeScript + Tailwind + shadcn/ui + TanStack Query
- DB: SQL Server 2022
- Deploy: Windows Server + IIS
Roadmap
| Phase | Tuần | Focus |
|---|---|---|
| 0 Draft | T1 | Scaffold, parse FORM + QUY_TRINH |
| 1 Alpha Core | T2-4 | Auth, Permission, CRUD master |
| 2 Form Engine | T5-6 | Render template docx/xlsx |
| 3 Workflow | T7-9 | State machine 9 phase |
| 4 Report + Polish | T10-11 | Dashboard + Excel export |
| 5 Production | T12-13 | CI/CD IIS, UAT, go-live |
Chi tiết ở docs/changelog/migration-todos.md.
License
Proprietary — Công ty TNHH Xây dựng Solutions.
Description
Languages
C#
53.9%
TypeScript
38.4%
PowerShell
6%
Python
0.7%
JavaScript
0.4%
Other
0.6%