Major project initialization and feature implementation: **Core Features:** - OPC UA client for Honeywell Experion HS R530 integration - Real-time data streaming and history data retrieval - Text-to-SQL query engine with TimeScaleDB - JSON-based node configuration system - SQLite database with migration support **Architecture:** - Clean architecture with Domain, Application, Infrastructure layers - ASP.NET Core Web API frontend - Web UI with real-time visualization - PKI-based OPC UA authentication (TLS) **Infrastructure Components:** - ExperionOpcClient: OPC UA connection management - ExperionRealtimeService: Real-time data streaming - ExperionHistoryService: Historical data queries - TextToSqlService: Natural language to SQL queries - SqlValidator: SQL injection prevention **Database:** - TimescaleDB integration (recommended) or SQLite fallback - Entity Framework Core with Extenstion methods - OPCTag, KeyValue tables for data storage **Security:** - Certificate-based OPC UA endpoint security - SSL/TLS encryption for database connections - Output param binding injection prevention **Testing:** - Unit tests for TextToSqlService and SqlValidator - Integration tests for Korean time range extraction See REVIEW_REQUEST.md for detailed code review information.
1.5 KiB
1.5 KiB
클로드 코드 검수 가이드
GLM-4.7-Flash 수정 완료 후 Claude Code에서 실행
Step 1 — 변경 범위 파악
git log --oneline # GLM이 남긴 fix 커밋 목록 확인
git diff main HEAD # 전체 변경사항 한눈에 보기
git diff main HEAD --stat # 파일별 변경 라인 수
Step 2 — REVIEW_REQUEST.md 읽기
GLM이 작성한 REVIEW_REQUEST.md를 열어
- 수정 완료 목록과 우려사항 확인
- 수정 보류(needs-review) 항목 특별 주의
Step 3 — 파일별 diff 검토
git show HEAD~N:src/파일.cs # 수정 전 원본
git diff HEAD~1 -- src/파일.cs # 해당 커밋 단일 변경
Claude Code에게 물어볼 것:
- "이 변경이 기존 동작을 바꾸는가?"
- "edge case가 있는가?"
- "OPC UA 프로토콜 관점에서 올바른가?"
Step 4 — 빌드 및 동작 확인
dotnet build src/Web/ExperionCrawler.csproj
dotnet test ExperionCrawler.Tests/ --no-build 2>/dev/null || echo "테스트 없음"
Step 5 — 판정
| 결과 | 처리 |
|---|---|
| 승인 | git checkout main && git merge --no-ff fix/glm-review |
| 부분 승인 | 문제 커밋만 git revert, 나머지 병합 |
| 거부 | git reset --hard HEAD~N 후 Claude Code가 직접 재수정 |
needs-review 항목 처리
GLM이 판단 보류한 항목은 Claude Code가 직접 검토 후:
rag_query("해당 문제 설명", search_code=True) # MCP로 관련 코드 컨텍스트 확인
판단 후 직접 수정하거나 issues.md에 wont-fix 표시