Skip to content

[Feat] 로컬 시연 시작·검증·종료 통합 - #556

Merged
Gimini-3 merged 3 commits into
developfrom
feature/555
Oct 18, 2026
Merged

Gimini-3 merged 3 commits into
developfrom
feature/555

Conversation

@Gimini-3

@Gimini-3 Gimini-3 commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

목적

로컬 시연에서 Compose·백엔드·프런트엔드·검증기를 각각 조작해야 하는 과정을 start → verify → stop으로 연결합니다. 기존 도구를 재사용하며 다른 작업의 프로세스·개인 환경 파일을 보존하는 것이 핵심 완료 기준입니다. Closes #555.

테스트 환경

  • 구현 3a17668, 테스트 3fd9eb7, 로컬 Python 3.9.6·POSIX·lsof·ps.
  • 임시 작업공간의 HTTP 서버와 자식 프로세스는 실제 실행했습니다. Docker 명령·일부 준비 API는 제어 대체물이며 실제 DB·모델·Compose 기동은 이 회차에서 0회입니다.
  • 지원 범위는 macOS·Linux, local 프로필·Local Filesystem·로컬 PostgreSQL/Valkey/BGE-M3입니다. 원격 OpenSQL·GCS 경로는 거부합니다.

테스트 방법

  1. python3 -m unittest discover -s scripts/demo -p 'test_*.py' -v로 기존 판정·준비 검사와 통합 명령 회귀를 실행했습니다.
  2. 실제 제어 HTTP 수신 PID가 기록된 전용 프로세스 그룹에 속하는지 확인하고, stop 뒤 자식 그룹과 포트가 사라지는지 검사했습니다.
  3. 시작 시각이 다른 PID 기록, 동시 명령, 일부 기동 실패, 설정 변경, 심볼릭 링크 상태 경로를 주입했습니다.
  4. 기존 환경 파일의 bytes·mtime 보존, 새 키 생성, 저장 전 비밀값 마스킹, 반복 verify의 개별 기록을 검사했습니다.
구성요소 변경 목적
scripts/demo.py 기존 명령 연결, 실행 잠금·소유 자원 기록·취소 정리·준비 재확인
scripts/demo/seed_demo_corpus.py 검증 HTTP 리다이렉트 거부
scripts/demo/local_config.py 저장 전 마스킹이 불가능한 여러 줄 비밀값 거부
scripts/demo/test_* 실제 제어 프로세스와 보존·실패 판정 회귀
README·설계·시험 기록 사용자 명령과 지원·보존 경계 명시

관측 결과

실행 ID 관측 판정
demo-runtime-contract-01 69/69, 6.904초 통과
demo-runtime-contract-02 73/73, 8.166초 통과

실행별 로그와 해석, 통합 명령 설계.

검증 과정에서 확인된 사항

  • HTTP 성공만으로 기존 서버를 자신의 서버로 오인할 수 있어 API·관리·Web의 실제 수신 프로세스와 소유 그룹을 대조합니다.
  • 부모가 중단돼도 자식이 먼저 기록한 PID와 시작 전 컨테이너 상태로 회수합니다. 식별정보가 다르면 강제 종료하지 않고 조치 필요로 표시합니다.
  • 이미 켜져 있던 Compose와 Native Ollama는 유지합니다. stop은 소유 컨테이너만 중지하며 볼륨·원본·모델 캐시를 삭제하지 않습니다.
  • search는 Ollama 기동·준비 판정을 생략합니다. 백엔드 RAG Worker 자체를 끄는 변경은 아니므로 생성 답변은 별도 미검증입니다.
  • 실제 Gradle·프런트엔드·BGE-M3의 새 환경 E2E는 다음 실행 검증에서 다룹니다. 이번 제어 회귀를 실제 모델 성공으로 해석하지 않습니다.

@Gimini-3
Gimini-3 requested a review from kangcheolung October 18, 2026 06:06
@coderabbitai

coderabbitai Bot commented Oct 18, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Repository: DocGrid/docgrid/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 34204fbe-6d98-46ed-aeab-86e1b07debed
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Gimini-3

Copy link
Copy Markdown
Contributor Author

구현자 수동 검토

전체 diff와 73개 회귀 결과를 대조했습니다. 별도 팀원의 승인으로 표현하지 않습니다. CodeRabbit 자동 리뷰는 이 저장소 정책으로 건너뛰었습니다.

  • 저장소 개인 환경 파일은 생성 전 존재 여부를 확인하고, bytes·mtime 보존 검사가 통과했습니다.
  • 시작 전 컨테이너 상태, PID의 시작 시각·명령·그룹, API/관리/Web listener를 대조합니다. 임의 포트 프로세스에 kill하지 않습니다.
  • 부분 기동 실패·부모 상태 누락·반복 verify·동시 명령·종료 재실행 경로를 검토했습니다.
  • stop은 컨테이너 ID·Engine ID·Compose 작업공간이 같은 소유 자원에만 적용합니다. 볼륨 삭제·Native Ollama 종료는 없습니다.
  • 실행 로그는 비밀값 정제 뒤 저장하며 원문 환경·인증 토큰은 보존하지 않습니다.
  • 실제 새 환경 전체 E2E는 후속 검증에서 실행합니다. 이 PR의 제어 HTTP 프로세스 회귀를 모델 E2E로 주장하지 않습니다.

현재 확인한 범위에서 병합을 막을 코드 문제는 없으며, 백엔드·프런트엔드·Python CI가 모두 통과한 뒤 병합합니다.

@Gimini-3
Gimini-3 merged commit 17143d4 into develop Oct 18, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat] 로컬 시연 시작·검증·종료 통합 명령 제공

1 participant