Files
windpacer 16fc7a2598 Initial commit: HC900 Crawler
Honeywell HC900을 Modbus TCP로 직접 폴링 → gRPC → C# 크롤러 → PostgreSQL.
기존 Experion OPC UA 데이터 경로를 HC900 직접 통신으로 대체.

- industrial-comm/cpp: C++ Modbus 게이트웨이 (gRPC 서버)
- src: C# .NET 8 ASP.NET Core 크롤러 + 웹 UI (3-Layer)
- mcp-server: Python FastMCP (RAG/NL2SQL/P&ID)
- 다중 컨트롤러(N-Controller) 지원

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 20:28:14 +09:00

1.2 KiB

Verifier — Phase B MVP (R1·R2·R4)

MCP tool 인자 결정적 검증 모듈. LLM이 생성한 잘못된 인자를 reject + hint + 로그.

룰 카탈로그

검증 적용 tool 실패 코드
R1 tag-existence (base_tag ∈ DB) trace_connections, query_pv_history, upsert_pid_connection, query_events(tag_name) R1.invalid_tag_format / R1.tag_not_found
R2 area-format (P\d+(-\d+)? + valid area) find_tags, active_alarms, query_events, summarize_events, generate_status_report R2.invalid_area_format / R2.unknown_area
R4 trace_connections 보강 (direction, max_depth) trace_connections R4.invalid_direction / R4.invalid_max_depth / R4.max_depth_out_of_range
R3 응답 텍스트 후처리 Phase B.2 stub
R5 LLM-judge Phase B.2 stub

로그 포맷 (logs/YYYY-MM-DD.jsonl)

{"ts": 1748220000.0, "tool": "trace_connections", "params": {"start_tag": "raw_material_input"}, "verifier_error": {"verifier_error": "R1.tag_not_found", "hint": "태그 'raw_material_input' 는 DB에 존재하지 않습니다...", "suggested": []}}
  • Phase C(LoRA) 학습 데이터 자동 수집 용도
  • 실패 → hint → 올바른 재호출 trip 기록