Files
Aislo/docs/wiki/concepts/multi_environment_safety.md
T

5.0 KiB

type, status, related_pages, last_updated, source
type status related_pages last_updated source
concept stable
architecture/shared_resources
storage_paths
workflow_state
design_data_lifecycle
browser_verification_operations
2026-09-12
docs/raw/verification/2026-09-09d_OWNERS_이력.md
docs/raw/verification/2026-09-09e_계획서_완료근거_이관.md
docs/raw/verification/2026-09-09f_계획서_공통기반과_참고_이관.md
docs/raw/verification/2026-09-11_창환경_링크와_깃운영_조사.md
docs/raw/plans/2026-09-11_plan_창환경_여섯워크트리_링크_깃운영.md
docs/raw/verification/2026-09-12_깃_합류점_dev_전환.md

다중 환경 저장소·공용 DB 안전

확인된 위험

  • 저장소 전체가 Synology로 PC 사이에 동기화되어 커밋 전 파일도 시간차를 두고 전달된다. 등록 파일만 먼저 도착하면 ModuleNotFoundError 같은 반쪽 상태가 생길 수 있다.
  • 네 환경이 원격 DB 한 벌을 사용하므로 다른 창의 저장·확정·노선 확인이 같은 프로젝트의 종횡단·수량 결과를 바꿀 수 있다.
  • [저장][확정]은 전 측점을 현재 서버 코드로 다시 계산한다. 노선 [확인]은 배수유역부터 전체 재설계 체인을 실행한다.
  • 저장된 정본 수치는 입력 자료뿐 아니라 계산 당시 코드 버전에도 매인다.

운영 규칙

  1. 신규 공용 파일을 먼저 동기화·push한 뒤 그 파일을 부르는 등록 줄을 반영한다.
  2. 자동 커밋 전에 git status로 다른 환경의 편집이 섞였는지 확인한다.
  3. 반쪽 상태에서는 먼저 원격 동기화 상태를 확인하고, 남의 변경은 지우지 않는다.
  4. 환경마다 별도 검증 프로젝트를 사용하고 다른 환경 프로젝트에서 저장·확정을 실행하지 않는다.
  5. 저장·확정·노선 확인 전에 영향을 받을 작업자에게 알린다.
  6. 수량 대조 전후 스냅숏에는 자료 시각과 /api/healthcode_mtime을 함께 기록한다.
  7. tmp/는 PC 사이 동기화를 보장하지 않으므로 검증 도구 존재 여부를 환경별로 확인한다.
  8. 검증 프로젝트는 OWNERS.md에 배정된 환경별 프로젝트만 사용하며 복제하지 않는다. 단면 존재 여부뿐 아니라 검증할 구조물·관·수량이 실제로 서는지도 먼저 확인한다.

여섯 워크트리 운영 확정판

구분 확정 운영
코드 환경 main_laptop_1, sub_laptop_1, main_desktop_1, sub_desktop_1
AI 환경 데스크탑의 CODEX, 안티그래비티; 코드 작업은 사용자 지시가 있을 때만 수행
메인 동기화 두 메인 폴더의 .claude, .codex, 루트 지침·장부는 Synology가 전달
보조·AI 링크 폴더 .claude·.codex·venv는 정션, 루트 파일 넷은 심볼릭 링크
링크 원본 각 PC의 OWNERS.md에 적힌 자기 PC 메인 경로
신규 워크트리 Orca가 생성·삭제, worktree_setup.ps1가 설치 후 worktree_link.ps1 실행
Git 동기화 main은 정본, dev는 합류점, 환경 브랜치 6개는 작업 자리

링크는 Synology 동기화 루트 밖에만 만들고, 지침·장부를 .claude.codex 안으로 옮기지 않는다. worktree_link.ps1는 살아 있는 하드링크만 심볼릭 링크로 갈아타며 갈라진 실물은 지우지 않는다.

Git 한 바퀴

단계 규칙
받기 작업 시작 전 자기 워크트리에서 .claude\git-sync.ps1를 인자 없이 한 번 실행
작업 자기 환경 브랜치에서 지시받은 범위만 변경
밀기 경로를 지정해 커밋한 뒤 git push origin HEAD로 자기 브랜치에만 push
모으기 사용자가 Git 싱크를 지시한 때만 git-sync.ps1 -Converge 실행

git-sync.ps1origin/dev를 받고, dev가 아직 품지 않은 환경 브랜치를 한 번의 옥토퍼스 머지로 담은 뒤 dev와 현재 환경 브랜치를 빨리감기한다. -Brief는 작업 중 HEAD를 바꾸지 않고 미수신 커밋만 알린다. 미커밋이 있으면 받기를 통째로 건너뛰며, maindev에 손으로 push하지 않는다.

완료 판정

  • 랩탑 AI 워크트리 둘 제거, 데스크탑 AI 워크트리 둘 생성, 랩탑·데스크탑 보조 및 AI 워크트리 링크 구성을 완료했다.
  • 두 PC 개발자 모드와 [owners] 출력, AI 브랜치 전달 제한, 자동 커밋 유지 결정을 확인했다.
  • 소스코드 2차 검증은 사용자 지시로 생략했으며, 운영 실측과 완료 판정은 위 source 원문에 보존한다.

재계산 영향

조작 영향
노선 확인 배수유역·관·종횡단·유토를 포함한 전체 재설계
저장·확정 전 측점 재계산 후 정본 기록
개발용 다음 단계 이동 workflow 상태만 변경, 계산 없음

구체적인 환경별 프로젝트 ID와 과거 사고 시점은 변동 가능한 운영 기록이므로 source 원문과 현재 OWNERS.md 장부를 함께 확인한다.