아키텍처와 데이터 흐름
로컬 실행·저장과 외부 서비스·AI 연결의 경계
reopt QA는 데스크톱 앱, 로컬 실행 엔진, 번들 브라우저 런타임으로 구성됩니다. 테스트와 결과 관리는 내 컴퓨터에서 수행하며, 대상 서비스와 AI 공급자는 작업에 따라 외부 연결을 사용합니다.
데스크톱 앱 UI
↕ 같은 컴퓨터의 HTTP / WebSocket
로컬 실행 엔진
├─ 브라우저 런타임 → 검증 대상 서비스
├─ 실행 기록 → 로컬 데이터 저장소
└─ AI 작업 → 설정한 모델 공급자
외부 MCP 클라이언트
↕ stdio
reopt-qa mcp → 같은 컴퓨터의 실행 엔진로컬에서 담당하는 부분
직접 배포 앱은 Tauri 셸과 React UI, Rust 실행 엔진, Node·Playwright 런타임을 함께 제공합니다. 엔진은 실행 큐, 브라우저 작업, 결과 저장과 조회를 담당합니다.
UI와 엔진은 loopback으로 통신합니다. 데스크톱 엔진은 실행 시 포트를 배정받으므로 개발 모드의 고정 포트를 제품 연결 주소로 가정하지 않습니다.
데이터가 이동하는 경우
| 작업 | 연결과 데이터 |
|---|---|
| 저장된 실행 기록 조회 | 컴퓨터에 저장된 결과를 로컬 엔진으로 조회 |
| 대상 서비스 탐색·테스트 | 브라우저가 해당 서비스와 통신하고 인증·입력 등 테스트 동작 수행 |
| AI 생성·조사·수정·분류 | 필요한 코드, 페이지 내용, 실패 기록 등이 설정한 공급자에게 전송될 수 있음 |
| 조건부 수정 승인 평가 | 평가 근거가 별도 모델 공급자에게 전송될 수 있음 |
| MCP 결과 조회 | 로컬 브리지가 외부 AI 클라이언트에 결과를 전달하며 이후 처리는 해당 클라이언트 설정에 따름 |
| 리포트 내보내기·공유 | 내보낸 파일을 전달한 대상에게 내용 공개 |
MCP 브리지와 앱 사이의 연결이 로컬이라는 사실은 외부 AI 도구가 데이터를 외부로 보내지 않는다는 뜻이 아닙니다. 수동 수정 승인도 파일 적용을 통제하는 절차이며 AI 요청 자체의 전송을 차단하지 않습니다.
기록과 실행 환경 구분
직접 배포 앱의 사용자 데이터는 앱 데이터 아래 agent-data에 저장됩니다. runtime은 업데이트 때 교체할 수 있는 실행 환경입니다. 실행 설정에 따라 리포트, 로그, 스크린샷과 trace 등이 남습니다. 모든 실행에 모든 자료가 생성되는 것은 아닙니다.
팀에서 검증 기준을 공유할 때는 테스트 코드·메타데이터와 필요한 환경 조건을 함께 관리합니다. 비밀번호나 인증 세션을 테스트 코드 또는 공유 리포트에 포함하지 않습니다. 앱 설치가 팀원의 계정이나 테스트 데이터를 자동 동기화하지는 않습니다.
관찰에서 재검증까지
서비스맵으로 관찰한 구조를 정리하고, 시나리오로 기대 동작을 정의합니다. 실행 결과를 검토해 개선한 뒤 같은 조건으로 다시 확인합니다. 관찰된 동작과 기대 동작의 차이를 근거와 함께 관리하는 것이 Post Architecture의 작업 방식입니다.
제품 구조와 개선 기록
기능에는 기대 동작과 관련 페이지·검증을, 사용자 흐름에는 순서가 있는 단계·출처·사용자 확인 여부를 저장합니다. 개선에는 관찰 내용과 근거 참조, 상태 변경 이유와 재검증 근거를 남깁니다. 모두 프로젝트별로 관리하며 서비스맵 수집과 테스트 실행은 서로 별도 기록입니다.
AI 대화에는 현재 선택한 기능·흐름·개선의 정보가 문맥으로 포함될 수 있습니다. 전송할 문맥은 패널에서 확인하거나 제외할 수 있습니다. 외부 MCP의 get_product_context도 프로젝트의 기능·흐름·개선을 조회합니다. 조회 권한과 외부 AI 공급자로의 전송 범위를 함께 확인합니다.