690602:0957 ADR-033-233 #01
CI / CD Pipeline / build (push) Successful in 4m52s
CI / CD Pipeline / deploy (push) Successful in 17m39s

This commit is contained in:
2026-06-02 09:57:48 +07:00
parent 7f35c3a585
commit bc754e66fd
32 changed files with 1404 additions and 576 deletions
+22 -11
View File
@@ -3,30 +3,30 @@
> **Laem Chabang Port Phase 3 - Document Management System**
> ระบบบริหารจัดการเอกสารโครงการแบบครบวงจร สำหรับโครงการก่อสร้างท่าเรือแหลมฉบังระยะที่ 3
[![Version](https://img.shields.io/badge/version-1.9.7-blue.svg)](./CHANGELOG.md)
[![Version](https://img.shields.io/badge/version-1.9.8-blue.svg)](./CHANGELOG.md)
[![License](https://img.shields.io/badge/license-Internal-red.svg)]()
[![Status](https://img.shields.io/badge/status-Production%20Ready-brightgreen.svg)]()
[![Docs](https://img.shields.io/badge/docs-10%2F10%20Gaps%20Closed-success.svg)](./specs/00-Overview/README.md)
---
## 📈 Current Status (As of 2026-05-25)
## 📈 Current Status (As of 2026-06-02)
**Version 1.9.7 — ADR-029 Dynamic Prompt Management + PaddleOCR Sidecar + n8n Workflow Fixes**
**Version 1.9.8 — ADR-033 Active Model & OCR Sandbox Management with GPU VRAM Release & X-API-Key Protection**
> v1.9.5 (ADR-028) May 22; v1.9.6 (AGENTS update) May 22; v1.9.7 (ADR-029 + sidecar infra) May 25.
> v1.9.7 (ADR-029 + sidecar) May 25; v1.9.8 (ADR-033 Model/OCR Sync & Security) June 2.
| Area | Status | หมายเหตุ |
| ---------------------- | ------------------------ | ------------------------------------------------------------------ |
| 🔧 **Backend** | ✅ Production Ready | NestJS 11, Express v5, 0 Vulnerabilities |
| 🎨 **Frontend** | ✅ 100% Complete | Next.js 16.2.0, React 19.2.4, ESLint 9 |
| 💾 **Database** | ✅ Schema v1.9.0 Stable | MariaDB 11.8, No-migration Policy |
| 📘 **Documentation** | ✅ **10/10 Gaps Closed** | Product Vision → Release Policy (29 ADRs — v1.9.7) |
| 🤖 **AI Architecture** | ✅ 29 ADRs Accepted | ADR-023A infra + ADR-024~029 runtime + dynamic prompts |
| 📘 **Documentation** | ✅ **10/10 Gaps Closed** | Product Vision → Release Policy (33 ADRs — v1.9.8) |
| 🤖 **AI Architecture** | ✅ 33 ADRs Accepted | ADR-023A + ADR-024~029 + ADR-033 Model Sync & Security |
| 🔄 **Workflow Engine** | ✅ ADR-021 Integrated | Transmittals & Circulation with Integrated Context |
| 🧪 **Testing** | ✅ UAT Ready | E2E + Acceptance Criteria ready |
| 🚀 **Deployment** | ✅ Production Ready | Blue-Green on QNAP Container Station |
| 🔒 **Infrastructure** | ✅ Hardened (v1.8.9) | Compose stacks audited; secrets, auth, container hardening applied |
| 🔒 **Infrastructure** | ✅ Hardened (v1.9.8) | Sidecar APIs secured; dynamic VRAM Release; container hardened |
---
@@ -51,9 +51,9 @@ LCBP3-DMS เป็นระบบบริหารจัดการเอก
- 🔢 **Document Numbering** - สร้างเลขที่เอกสารอัตโนมัติ ป้องกัน Race Condition
- 🤖 **AI-Assisted Migration** - Ollama + n8n นำเข้าเอกสารเก่า ~20,000 ไฟล์ (ADR-023/028)
- 💬 **AI Document Assistant** - Intent Classification + Tool Layer + Document Chat UI (ADR-024/025/026)
- ⚙️ **AI Admin Console** - Dynamic model/prompt/intent control (ADR-027)
- ⚙️ **AI Admin Console** - Dynamic model/prompt/intent control with Synchronous Loading & Auto-Unloading (ADR-027/033)
- 📝 **Dynamic Prompt Management** - Prompt templates in DB `ai_prompts`, Redis cache TTL 60s (ADR-029)
- 🔬 **PaddleOCR Sidecar** - FastAPI OCR service on Desk-5439 with CIFS mount to QNAP
- 🔬 **Typhoon & Tesseract OCR Sidecar** - FastAPI OCR service on Desk-5439 with `X-API-Key` protection & dynamic engine routing (ADR-032/033)
---
@@ -328,7 +328,7 @@ lcbp3-dms/
| **Edge Cases & Rules** | 37 Edge Cases, Business Logic Guards | Gap 10 ✅ | `01-06-edge-cases-and-rules.md` |
| **Schema v1.9.0** | Tables, Views, Indexes (3-file split) | — | `lcbp3-v1.9.0-schema-*.sql` |
| **Data Dictionary** | Field Meanings, Business Rules | — | `03-01-data-dictionary.md` |
| **ADRs (28)** | All Architecture Decisions incl. ADR-019/021/023/024-028 | - | `06-Decision-Records/` |
| **ADRs (33)** | All Architecture Decisions incl. ADR-019/021/023/024-029, ADR-033 | - | `06-Decision-Records/` |
---
@@ -377,7 +377,7 @@ lcbp3-dms/
| 1 | [`AGENTS.md`](./AGENTS.md) | Quick-reference rules (Tier 1/2/3 enforcement, ADR-019 March 2026 pattern, forbidden actions) |
| 2 | [`.agents/skills/_LCBP3-CONTEXT.md`](./.agents/skills/_LCBP3-CONTEXT.md) | Shared context appendix injected into every speckit-\* skill |
| 3 | [`.agents/skills/README.md`](./.agents/skills/README.md) | Skill-pack layout + slash-command invocation guide |
| 4 | `specs/06-Decision-Records/` | 28 ADRs (architectural decisions) |
| 4 | `specs/06-Decision-Records/` | 33 ADRs (architectural decisions) |
**Unified workflows (v1.9.0):** `/00-speckit.all``/102-speckit.specify``/104-speckit.plan``/107-speckit.implement``/110-speckit.reviewer`
@@ -385,6 +385,17 @@ lcbp3-dms/
## 🗺️ Roadmap
### ✅ Version 1.9.8 (June 2026) — AI Model Sync, GPU Unloading & OCR Security (ADR-033)
-**ADR-033**: Active Model & OCR Runner Management Architecture
-**Synchronous LLM verification**: สวิตช์โมเดลแบบ Synchronous ตรวจเช็คความถูกต้องและสั่งโหลดขึ้น GPU จริงจังล่วงหน้า 30 วินาทีก่อนบันทึกฐานข้อมูล
-**Dynamic VRAM Release**: ระบบ Unload ลบโมเดลหลักตัวเก่าออกจาก GPU Memory ด้วย `keep_alive: 0` ทันทีหลังโมเดลตัวใหม่โหลดสำเร็จ
-**Resilient OOM Fallback**: ปรับปรุง VramMonitor ให้ทนทาน ไม่บล็อก RAG/OCR sandbox เมื่อ Ollama connection metrics ขัดข้อง
-**Sidecar API Key Protection**: กำหนดการใช้ `X-API-Key` คัดกรองและป้องกันฮาร์ดแวร์ sidecar จากการถูกเรียกใช้ภายนอกโดยไม่ได้รับอนุญาต
-**Typhoon Mapping**: เชื่อมโยงโมเดลและ dropdown ขนาดโมเดลในหน้า Sandbox และ sidecar ตรงตามขนาดจริง
-**Root Docs Updated**: ARCHITECTURE.md, CHANGELOG.md, CONTEXT.md, README.md, specs/README.md, ADR-033
-**Total: 33 ADRs** ครอบคลุมทุก Architectural Decision (ADR-001~ADR-033)
### ✅ Version 1.9.5 (May 2026) — AI Runtime Layer ADRs + Migration Architecture Refactor
-**ADR-024**: Intent Classification Strategy — Hybrid Pattern→LLM Fallback (ai_intent_patterns + Redis cache 5 min)