Integration Discovery Tracker
Dự án: Nền tảng Quản lý, Quản trị Dữ liệu Thành phố
Mục đích: Theo dõi tiến độ khai thác thông tin third-party integration, bao gồm câu hỏi làm rõ, assumptions, và trạng thái xác nhận từ user.
1. Integration Services Overview
| Integration ID |
Service |
Discovery Status |
Spec Status |
High-Impact Assumptions Pending |
Last Clarification Round |
Notes |
| INT-001 |
Hệ thống SSO Thành phố |
📝 Draft Ready |
📝 Draft Ready |
0 |
Round 1 |
Giả định Keycloak + SAML 2.0, có thể thay CAS |
| ~~INT-002~~ |
~~Nguồn Metadata Cấu trúc (Discovery Input)~~ |
❌ Removed |
❌ Removed |
- |
- |
Không phải integration – chức năng upload nội bộ |
| INT-003 |
Matching Microservice (Rule-based + AI) |
📝 Draft Ready |
📝 Draft Ready |
1 |
Round 1 |
Microservice riêng. Multi-model. Data contract cần phân tích sâu |
Status Legend:
- ✅ Complete
- ⏳ In Progress
- ❌ Not Started
- ⚠️ Needs Clarification
- 🔒 Blocked
- 📝 Draft Ready
2. Clarification Questions Backlog
| Question ID |
Service |
Round |
Target Section |
Question |
Priority |
Status |
Answer / Source |
| Q-INT-001 |
INT-001 SSO |
1 |
3.1 Access & Auth |
Hệ thống SSO cụ thể mà Thành phố đang sử dụng là gì? |
High |
Answered |
Giả định Keycloak, có thể là CAS. Câu trả lời mở – chốt ở giai đoạn kỹ thuật |
| Q-INT-002 |
INT-001 SSO |
1 |
4.1 Outbound Data |
Giao thức SSO sử dụng? |
High |
Answered |
Giả định SAML 2.0 |
| Q-INT-003 |
INT-001 SSO |
1 |
2.1 Existing Systems |
SSO cung cấp thông tin gì về user? |
Medium |
Answered |
Email, username, đơn vị. Vai trò quản lý nội bộ tại hệ thống này |
| Q-INT-004 |
INT-001 SSO |
1 |
5.1 SLA |
Có yêu cầu fallback khi SSO không khả dụng? |
Medium |
Answered |
Không cần fallback. Giả định SSO luôn available |
| Q-INT-005 |
INT-002 Discovery |
1 |
1.1 Business Purpose |
Phương thức nhập metadata nào triển khai giai đoạn hiện tại? |
High |
Answered |
Upload CSV, DDL, hoặc nhập thủ công. Không kết nối DB trực tiếp |
| Q-INT-006 |
INT-002 Discovery |
1 |
2.1 Existing Systems |
Kết nối DB trực tiếp cần hỗ trợ loại CSDL nào? |
Medium |
Answered |
Bỏ qua. Manager thu thập DDL/CSV thủ công từ đơn vị |
| Q-INT-007 |
INT-002 Discovery |
1 |
5.2 Error Handling |
Khi parse file lỗi, quy trình xử lý là gì? |
Medium |
Answered |
Báo lỗi và yêu cầu thử lại |
| Q-INT-008 |
INT-003 AI |
1 |
1.1 Business Purpose |
AI matching là dịch vụ bên thứ ba hay tự phát triển? |
High |
Answered |
Dịch vụ bên thứ ba, hỗ trợ multi-model: OpenAI, Gemini, Ollama, etc. |
| Q-INT-009 |
INT-003 AI |
1 |
4.1 Outbound Data |
Dữ liệu gì được gửi đến AI service? |
High |
Converted to Assumption |
Chưa rõ gửi từng field hay toàn bộ DDL context. Cần phân tích sâu → ASM-INT-006 |
| Q-INT-010 |
INT-003 AI |
1 |
5.1 SLA |
Nếu AI service lỗi, fallback là gì? |
Medium |
Answered |
Retry 3 lần → dead queue → thử lại sau hoặc thông báo. Cần phân tích kỹ luồng production-ready |
3. Assumption Log
| Assumption ID |
Service |
Source Question |
Statement |
Impact |
Status |
User Confirmation |
Linked Docs |
| ASM-INT-001 |
INT-001 SSO |
Q-INT-001 |
SSO là Keycloak với giao thức SAML 2.0. Tuy nhiên có thể thay bằng CAS hoặc giải pháp khác – hệ thống cần thiết kế abstraction layer cho SSO |
Medium |
Confirmed by User |
2026-04-01 |
sso.md, integration-catalog.md |
| ASM-INT-002 |
INT-001 SSO |
Q-INT-003 |
SSO chỉ cung cấp identity (username, email, đơn vị). Hệ thống tự quản lý phân quyền vai trò (Data Owner/Manager/Approver/Staff/Admin) nội bộ |
Medium |
Confirmed by User |
2026-04-01 |
sso.md, role-matrix.md |
| ASM-INT-003 |
INT-002 Discovery |
Q-INT-005, Q-INT-006 |
Giai đoạn hiện tại chỉ hỗ trợ upload file (CSV, DDL) và khai báo thủ công. Kết nối DB trực tiếp bị loại bỏ khỏi scope |
Low |
Confirmed by User |
2026-04-01 |
metadata-discovery-input.md |
| ASM-INT-004 |
INT-003 AI |
Q-INT-008 |
AI matching sử dụng dịch vụ bên thứ ba qua API, hỗ trợ multi-model (OpenAI, Gemini, Ollama). Hệ thống không tự xây dựng model |
Medium |
Confirmed by User |
2026-04-01 |
ai-matching.md |
| ASM-INT-005 |
INT-003 AI |
Q-INT-004 |
SSO luôn available, không cần fallback authentication |
Low |
Confirmed by User |
2026-04-01 |
sso.md |
| ASM-INT-006 |
INT-003 AI |
Q-INT-009 |
Data contract cho AI chưa xác định: gửi từng field name riêng lẻ sẽ mất ngữ cảnh, nhưng gửi toàn bộ DDL context có thể tốn token/chi phí. Cần phân tích sâu ở giai đoạn thiết kế kỹ thuật để tìm giải pháp cân bằng giữa chất lượng matching và chi phí |
High |
Accepted Risk (User Approved) |
2026-04-01 |
ai-matching.md |
| ASM-INT-007 |
INT-003 AI |
Q-INT-010 |
Error handling: retry 3 lần → dead letter queue → thử lại sau hoặc thông báo. Luồng chi tiết cần phân tích kỹ ở giai đoạn thiết kế kỹ thuật |
Medium |
Accepted Risk (User Approved) |
2026-04-01 |
ai-matching.md |
| ASM-INT-008 |
INT-003 AI |
— |
Rule-based matching chạy trước AI trong decision tree. Field đạt score cao từ rule-based sẽ bỏ qua AI để tối ưu chi phí |
Low |
Confirmed by User |
2026-04-02 |
ai-matching.md |
| ASM-INT-009 |
INT-003 AI |
— |
Threshold T1 (auto-match) và T2 (minimum) chưa xác định giá trị cụ thể. Cần calibrate qua POC. Giai đoạn này T1 không áp dụng (không auto-accept) — chỉ cần T2 (minimum để hiển thị gợi ý) |
Medium |
Accepted Risk (User Approved) |
2026-04-02 |
ai-matching.md |
| ASM-INT-010 |
INT-003 AI |
— |
Matching được triển khai như microservice riêng biệt, giao tiếp với hệ thống chính qua REST API. Triển khai, scale và deploy độc lập |
Low |
Confirmed by User |
2026-04-02 |
ai-matching.md |
| ASM-INT-011 |
INT-001 SSO |
— |
SSO hỗ trợ dual-mode (username/password + credential chính thức khi có hành lang pháp lý). Dual-mode là trách nhiệm của SSO, không phải ứng dụng. Ứng dụng chỉ là Service Provider (Consumer) |
Medium |
Confirmed by User |
2026-04-08 |
sso.md |
| ASM-INT-012 |
INT-003 AI |
— |
Giai đoạn hiện tại: KHÔNG auto-accept — mọi gợi ý AI phải human review, bất kể score. Tương lai có thể enable auto-accept lại. Thiết kế giữ threshold T1 trong cấu hình, chỉ tắt giai đoạn này. Mọi quyết định ghi vào ai_feedback_log |
High |
✅ Đã chốt |
2026-04-08 |
ai-matching.md, business-understanding.md |
4. Decision Log
| Date |
Service |
Decision |
Impacted Documents |
Approved By |
| 2026-04-01 |
INT-001 SSO |
Giả định Keycloak + SAML 2.0, thiết kế abstraction layer để có thể thay thế |
sso.md, integration-catalog.md |
User |
| 2026-04-01 |
INT-002 Discovery |
Loại bỏ kết nối DB trực tiếp khỏi scope. Chỉ CSV/DDL/thủ công |
metadata-discovery-input.md, integration-catalog.md |
User |
| 2026-04-01 |
INT-003 AI |
Multi-model (OpenAI/Gemini/Ollama). Data contract & error handling cần phân tích kỹ thuật sâu |
ai-matching.md, integration-catalog.md |
User |
| 2026-04-01 |
INT-001 SSO |
SSO cung cấp identity only. Vai trò quản lý nội bộ |
sso.md, role-matrix.md |
User |
| 2026-04-02 |
INT-003 Matching |
Matching bao gồm cả rule-based, decision tree workflow và fallback – không tách riêng |
ai-matching.md, integration-catalog.md |
User |
| 2026-04-02 |
INT-003 Matching |
Matching triển khai như microservice riêng biệt, tích hợp với hệ thống chính qua REST API |
ai-matching.md, integration-catalog.md |
User |
| 2026-04-02 |
INT-002 Discovery |
Loại bỏ INT-002: không phải integration. Manager thu thập CSV/DDL thủ công ngoài hệ thống rồi upload – chức năng nội bộ |
integration-catalog.md |
User |
| 2026-04-02 |
INT-001 SSO |
User provisioning: Admin pre-provision user → khi đăng nhập SSO lần đầu, mapping bằng email làm key. Nếu chưa có → auto-provision, trạng thái "chưa phân quyền" |
sso.md, epics.md (EP-01) |
User |
5. Completion Criteria
- [x] All integration services are listed
- [x] All
High priority clarification questions are answered or converted to assumptions
- [x] No
High impact assumptions are pending confirmation (ASM-INT-006 = Accepted Risk)
- [ ] Integration catalog is updated
- [ ] Service spec files are updated
- [ ] User confirmed completion
Last Updated: 2026-04-08