58 lines
4.1 KiB
Markdown
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` 장부를 함께 확인한다.
|