Context & problem배경과 문제
Process logs and helium leak-test results lived in two physically separate PostgreSQL databases inside private networks. Their collection periods did not overlap, and several expected variables were empty, so the system needed to expose data limitations clearly instead of presenting unsupported causal or AI-performance claims.공정 로그와 헬륨 리크테스트 결과가 사설망 내부의 서로 다른 PostgreSQL DB에 분리되어 있었습니다. 실제 수집 기간이 겹치지 않고 일부 주요 변수도 비어 있어, 근거 없는 인과관계나 AI 성능을 제시하지 않고 데이터 한계를 명확히 드러내는 시스템이 필요했습니다.
Approach접근 방법
Audited more than 37,000 furnace_raw rows and hl_2–6 leak-test files, identified missing fields and non-overlapping periods, and reorganized chamber-level records into model-level aggregates. Designed three append-oriented AI tables for prediction runs, 14-zone optimal parameters and prediction-versus-observation accuracy, while extending the multi-database export workflow.furnace_raw 3만7천여 행과 hl_2~6 리크테스트 원본을 실사해 결측 컬럼과 기간 불일치를 확인하고, 호기별로 흩어진 기록을 모델 기준으로 통합 집계하도록 재설계했습니다. 예측 실행, 14존 최적 공정조건, 예측·실측 정확도를 저장하는 AI 테이블 3개와 다중 DB 추출 구조를 설계했습니다.
Architecture decision기술 선택과 판단
Separated SQLAlchemy sessions for thecore-server and greentech-edge, delayed database initialization so the API remained healthy when configuration was missing, and marked unconnected values as temporary in the dashboard. The operator flow follows PRE-HEAT, DRY-OFF, HEATING zones 1–7 and quality inspection rather than the underlying database layout.thecore-server와 greentech-edge의 SQLAlchemy 세션을 분리하고 DB 초기화를 지연시켜 설정이 누락되어도 API 서버가 기동하도록 설계했습니다. 미연동 값은 대시보드에서 임시값으로 구분하고, 화면은 DB 구조가 아니라 PRE-HEAT·DRY-OFF·HEATING 1~7존·품질검사 순서에 맞췄습니다.
Implementation constraint구현 제약
Railway could not reach the private 100.64.0.0/10 Tailscale network through normal kernel routing because the container had no TUN privileges. A userspace Tailscale SOCKS5 proxy and socat port forwarding were introduced, with uvicorn starting immediately while network and database initialization continued in the background to avoid health-check restart loops.Railway 컨테이너에는 TUN 권한이 없어 100.64.0.0/10 Tailscale 사설망에 일반 커널 라우팅으로 접근할 수 없었습니다. userspace Tailscale SOCKS5 프록시와 socat 포트포워딩을 구성하고, uvicorn은 즉시 기동한 뒤 네트워크·DB 초기화를 백그라운드에서 수행해 헬스체크 재시작 루프를 해결했습니다.
Result결과
Delivered seven API endpoints covering hl_2–6 aggregation, the latest furnace snapshot and three AI-result tables, plus a live dashboard that replaces temporary values when verified API data arrives. Integration was checked through direct endpoint calls, source-query comparisons and timestamp-based value changes.hl_2~6 통합 집계, furnace_raw 최신 스냅샷과 AI 결과 테이블 3개를 조회하는 API 엔드포인트 7개를 구현했습니다. 검증된 API 데이터가 들어오면 임시값을 실측값으로 전환하는 대시보드를 구축하고, 직접 호출·원본 쿼리 대조·타임스탬프 변화로 실데이터 연동을 검증했습니다.
Verified evidence확인 가능한 근거
Verified scope: 37,000+ process-log rows audited, two private databases integrated, three AI-result tables designed, seven API endpoints delivered and one operator dashboard deployed.확인된 범위: 공정 로그 3만7천여 행 실사, 사설망 DB 2개 연동, AI 결과 테이블 3개 설계, API 엔드포인트 7개와 작업자 대시보드 배포.