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

58 lines
4.1 KiB
Markdown

---
type: concept
status: stable
related_pages: ["[[architecture/shared_resources]]", "[[storage_paths]]", "[[workflow_state]]", "[[design_data_lifecycle]]"]
last_updated: 2026-09-11
source: ["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"]
---
# 다중 환경 저장소·공용 DB 안전
## 확인된 위험
- 저장소 전체가 Synology로 PC 사이에 동기화되어 커밋 전 파일도 시간차를 두고 전달된다. 등록 파일만 먼저 도착하면 `ModuleNotFoundError` 같은 반쪽 상태가 생길 수 있다.
- 네 환경이 원격 DB 한 벌을 사용하므로 다른 창의 저장·확정·노선 확인이 같은 프로젝트의 종횡단·수량 결과를 바꿀 수 있다.
- `[저장]``[확정]`은 전 측점을 현재 서버 코드로 다시 계산한다. 노선 `[확인]`은 배수유역부터 전체 재설계 체인을 실행한다.
- 저장된 정본 수치는 입력 자료뿐 아니라 계산 당시 코드 버전에도 매인다.
## 운영 규칙
1. 신규 공용 파일을 먼저 동기화·push한 뒤 그 파일을 부르는 등록 줄을 반영한다.
2. 자동 커밋 전에 `git status`로 다른 환경의 편집이 섞였는지 확인한다.
3. 반쪽 상태에서는 먼저 원격 동기화 상태를 확인하고, 남의 변경은 지우지 않는다.
4. 환경마다 별도 검증 프로젝트를 사용하고 다른 환경 프로젝트에서 저장·확정을 실행하지 않는다.
5. 저장·확정·노선 확인 전에 영향을 받을 작업자에게 알린다.
6. 수량 대조 전후 스냅숏에는 자료 시각과 `/api/health``code_mtime`을 함께 기록한다.
7. `tmp/`는 PC 사이 동기화를 보장하지 않으므로 검증 도구 존재 여부를 환경별로 확인한다.
8. 검증 프로젝트는 `OWNERS.md`에 배정된 환경별 프로젝트만 사용하며 복제하지 않는다. 단면 존재 여부뿐 아니라 검증할 구조물·관·수량이 실제로 서는지도 먼저 확인한다.
## 여섯 워크트리 운영 확정판
| 구분 | 확정 운영 |
|---|---|
| 코드 환경 | `main_laptop_1`, `sub_laptop_1`, `main_desktop_1`, `sub_desktop_1` |
| AI 환경 | 데스크탑의 `CODEX`, `안티그래비티`; AI 브랜치는 `docs/`만 전달 |
| 메인 동기화 | 두 메인 폴더의 `.claude`, `.codex`, 루트 지침·장부는 Synology가 전달 |
| 보조·AI 링크 | 폴더 `.claude`·`.codex`·`venv`는 정션, 루트 파일 넷은 심볼릭 링크 |
| 링크 원본 | 각 PC의 `OWNERS.md`에 적힌 자기 PC 메인 경로 |
| 신규 워크트리 | Orca가 생성·삭제, `worktree_setup.ps1`가 설치 후 `worktree_link.ps1` 실행 |
| Git 동기화 | 기존 스크립트가 fetch·merge·자동 push 담당; 브랜치 이름 패턴은 넓히지 않음 |
링크는 Synology 동기화 루트 밖에만 만들고, 지침·장부를 `.claude``.codex` 안으로 옮기지 않는다. `worktree_link.ps1`는 살아 있는 하드링크만 심볼릭 링크로 갈아타며 갈라진 실물은 지우지 않는다.
## 완료 판정
- 랩탑 AI 워크트리 둘 제거, 데스크탑 AI 워크트리 둘 생성, 랩탑·데스크탑 보조 및 AI 워크트리 링크 구성을 완료했다.
- 두 PC 개발자 모드와 `[owners]` 출력, AI 브랜치 전달 제한, 자동 커밋 유지 결정을 확인했다.
- 소스코드 2차 검증은 사용자 지시로 생략했으며, 운영 실측과 완료 판정은 위 source 원문에 보존한다.
## 재계산 영향
| 조작 | 영향 |
|---|---|
| 노선 확인 | 배수유역·관·종횡단·유토를 포함한 전체 재설계 |
| 저장·확정 | 전 측점 재계산 후 정본 기록 |
| 개발용 다음 단계 이동 | workflow 상태만 변경, 계산 없음 |
구체적인 환경별 프로젝트 ID와 과거 사고 시점은 변동 가능한 운영 기록이므로 source 원문과 현재 `OWNERS.md` 장부를 함께 확인한다.