GPT ↔ Agent Data connector recurrence — closure (2026-05-12)
title: GPT ↔ Agent Data connector recurrence — closure date: 2026-05-12 investigator: Claude Code (Opus 4.7) status: RESOLVED related: gpt-agent-data-connector-recurrence-root-cause-2026-05-12.md
GPT ↔ Agent Data connector — closure (2026-05-12)
Kết quả
5/5 GPT calls PASS sau khi user Update/Save schema bên GPT Builder.
Bằng chứng từ server logs (nginx, OpenAI action-gateway IPs)
| # | UTC | OpenAI IP | Route | Status | Bytes | Wrapper |
|---|---|---|---|---|---|---|
| schema fetch | 07:05:23 | 20.194.157.179 | GET /api/openapi.json |
200 | 27833 | OpenAI gateway reimport schema |
| 1 healthCheck | 07:07:33 | 172.196.40.210 | GET /api/health |
200 | 530 | healthCheck |
| 2 searchKnowledge | 07:07:45 | 172.196.40.216 | POST /api/chat |
200 | 5584 | searchKnowledge (REST /chat) |
| 3 getDocumentTruncated | 07:07:52 | 172.196.40.223 | GET /api/documents/.../stability-fix-2026-05-12.md?full=false&search=false |
200 | 841 | getDocumentTruncated (REST /documents/{id}) |
| 4 listDocuments(notes) | 07:07:59 | 172.196.40.222 | GET /api/kb/list?prefix=...notes |
200 | 766 | listDocuments |
| 5 listDocuments(reviews) | 07:08:05 | 172.196.40.218 | GET /api/kb/list?prefix=...reviews |
200 | 16412 | listDocuments (returned_count=50, total_count=526, truncated=true) |
Connector_call log (agent-data):
07:07:59 listDocuments upstream=/kb/list mapped_query_keys=prefix,limit,offset status=200 response_bytes=808 prefix='knowledge/dev/laws/dieu44-trien-khai/notes' limit=50 offset=0 returned_count=2 total_count=207:08:05 listDocuments upstream=/kb/list mapped_query_keys=prefix,limit,offset status=200 response_bytes=17211 prefix='knowledge/dev/laws/dieu44-trien-khai/reviews' limit=50 offset=0 returned_count=50 total_count=526
User UI report: pagination count=526, returned_count=50, truncated=true → khớp 100% với server log.
Xác nhận root cause
Root cause đã chứng minh trong báo cáo gpt-agent-data-connector-recurrence-root-cause-2026-05-12.md:
- Lúc 06:50-06:55 UTC (FAIL): 0 request từ OpenAI gateway IP reach VPS.
- Lúc 07:07-07:08 UTC (PASS): 6 request từ OpenAI gateway IP reach VPS (1 schema + 5 tools).
Khác biệt duy nhất giữa 2 thời điểm: user Update/Save schema bên GPT Builder. Điều này confirm fix nằm hoàn toàn ở OpenAI side (action gateway schema cache), không ở VPS side.
Schema fetch tại 07:05:23 UTC
OpenAI gateway (20.194.157.179, ChatGPT-User/1.0) fetched /api/openapi.json 200 OK 27833 bytes ngay khi user bấm Save. Đây là evidence trực tiếp của schema reimport mà báo cáo đề xuất ở §6.
Surface phân bố thực tế (sau fix)
GPT đang dùng REST surface cho các tool (không phải MCP):
- healthCheck →
/api/health - searchKnowledge →
POST /api/chat(REST /chat, không qua MCP) - getDocumentTruncated →
GET /api/documents/{path}?full=false&search=false - listDocuments →
GET /api/kb/list?prefix=...
→ schema split MCP vs REST không gây vấn đề ở vận hành; chỉ là confusion về schema_hash trong báo cáo (REST hash aaec3d401df2 là cái GPT thực sự dùng).
Followup khuyến nghị (không bắt buộc)
Vẫn nên áp dụng từ báo cáo root-cause:
- Thêm nginx alias
/api/chatgpt-openapi.json→ cùng static file (defense in depth, không sửa root cause). - Sync REST hash + MCP hash về 1 nguồn truth (giảm confusion lần sau).
- Document URL canonical:
https://vps.incomexsaigoncorp.vn/api/openapi.json. - Mỗi lần bump CONNECTOR_SCHEMA_VERSION → nhắc rõ trong release notes: cần Update/Save bên GPT Builder.
Status
RESOLVED. Connector hoạt động bình thường. Không có action server-side cần thực hiện.