8081 작업용은 원래 8080과 포트만 다른 서버가 아니라, 코드 소스까지 분리된 전용 worktree에서 기동되어야 한다.
이번 복구 과정에서 8081이 메인 workspace를 직접 마운트한 상태로 떠 있으면 8080과 디자인 소스가 섞이고, 오전 작업 디자인도 재현되지 않는 문제가 확인되었다.
확인된 사실
정상적인 8081 경로는 /tmp/mh-dashboard-organization-dev-worktree
project name은 mh-dashboard-organization-dev
docker inspect mh-dashboard-organization-dev-backend-1 기준 마운트 소스가 /tmp/mh-dashboard-organization-dev-worktree/... 여야 함
.env와 일부 로컬 전용 디자인 자산(sample style.css, 260320.html, 사업관리대장/ 등)은 git clone만으로는 보장되지 않으므로 준비 단계에서 같이 복제해야 함
이번에 정리한 내용
scripts/prepare_dev_worktree.sh가 .env와 로컬 전용 incoming 자산까지 같이 복제하도록 보강
docs/DEV_PROD_DB_PROTOCOL.md에 8081 분리 기동 절차와 검증 기준 추가
docs/REGRESSION_CHECKLIST.md에 마운트 소스 확인 절차 추가
docs/WORK_RULEBOOK.md에 8081은 반드시 분리 worktree에서만 띄운다는 규칙 추가
완료 기준
다음 세션에서도 ./scripts/prepare_dev_worktree.sh 후 바로 8081이 분리 worktree 기준으로 뜰 것
8081이 메인 workspace를 직접 마운트하는 상태를 문서와 체크리스트로 방지할 것
8080과 8081이 같은 디자인 소스를 동시에 보지 않도록 운영 규칙이 남아 있을 것
## 배경
`8081` 작업용은 원래 `8080`과 포트만 다른 서버가 아니라, 코드 소스까지 분리된 전용 worktree에서 기동되어야 한다.
이번 복구 과정에서 `8081`이 메인 workspace를 직접 마운트한 상태로 떠 있으면 `8080`과 디자인 소스가 섞이고, 오전 작업 디자인도 재현되지 않는 문제가 확인되었다.
## 확인된 사실
- 정상적인 `8081` 경로는 `/tmp/mh-dashboard-organization-dev-worktree`
- project name은 `mh-dashboard-organization-dev`
- `docker inspect mh-dashboard-organization-dev-backend-1` 기준 마운트 소스가 `/tmp/mh-dashboard-organization-dev-worktree/...` 여야 함
- `.env`와 일부 로컬 전용 디자인 자산(`sample style.css`, `260320.html`, `사업관리대장/` 등)은 git clone만으로는 보장되지 않으므로 준비 단계에서 같이 복제해야 함
## 이번에 정리한 내용
- `scripts/prepare_dev_worktree.sh`가 `.env`와 로컬 전용 incoming 자산까지 같이 복제하도록 보강
- `docs/DEV_PROD_DB_PROTOCOL.md`에 8081 분리 기동 절차와 검증 기준 추가
- `docs/REGRESSION_CHECKLIST.md`에 마운트 소스 확인 절차 추가
- `docs/WORK_RULEBOOK.md`에 8081은 반드시 분리 worktree에서만 띄운다는 규칙 추가
## 완료 기준
- 다음 세션에서도 `./scripts/prepare_dev_worktree.sh` 후 바로 `8081`이 분리 worktree 기준으로 뜰 것
- `8081`이 메인 workspace를 직접 마운트하는 상태를 문서와 체크리스트로 방지할 것
- `8080`과 `8081`이 같은 디자인 소스를 동시에 보지 않도록 운영 규칙이 남아 있을 것
현재 8080/8081, 메인 허브, 조직현황 legacy, 프로젝트 분석, 팀/개인별 분석, 사업관리대장 통합 경로가 서로 복잡하게 얽혀 있는 상태를 정리
iframe, 정적 HTML, legacy 스크립트, incoming 파일, 공통 스타일, 페이지별 스타일의 연결 관계를 단순화
화면별 자산 로딩 경로와 책임 범위를 명확히 분리
8081에서만 적용해야 하는 작업이 8080 공통 소스를 오염시키지 않도록 구조를 정비
다음 작업에서 디자인/기능을 추가해도 다시 경로가 꼬이거나 임시 연결이 누적되지 않게 만드는 것
구체적으로 정리해야 할 대상:
어떤 화면이 어떤 소스 파일을 기준으로 렌더링되는지 명확화
incoming-files의 참고 자산, 실제 서빙 자산, 임시 실험 자산 구분
frontend/public, legacy/static, incoming-files 사이의 역할 재정리
8081 전용 복구/실험 파일과 8080 공개용 파일의 승격 절차 표준화
중복 스타일/임시 색상 치환/산발적인 버전 쿼리스트링 사용 정리
완료 기준도 이 관점으로 본다:
다음 세션에서 파일 출처와 연결 구조를 다시 추적하느라 시간을 쓰지 않아도 될 것
특정 화면 수정 시 어느 파일을 고쳐야 하는지 즉시 알 수 있을 것
8081 실험이 8080을 망가뜨리지 않는 구조가 유지될 것
디자인 복구/승격 작업이 diff 중심으로 통제 가능할 것
추가 목적을 명확히 남깁니다.
이번 이슈에서 말하는 `코드 정리`는 단순 포맷 정리나 함수명 변경이 아닙니다.
실제 목적:
- 현재 `8080`/`8081`, 메인 허브, 조직현황 legacy, 프로젝트 분석, 팀/개인별 분석, 사업관리대장 통합 경로가 서로 복잡하게 얽혀 있는 상태를 정리
- `iframe`, 정적 HTML, legacy 스크립트, incoming 파일, 공통 스타일, 페이지별 스타일의 연결 관계를 단순화
- 화면별 자산 로딩 경로와 책임 범위를 명확히 분리
- `8081`에서만 적용해야 하는 작업이 `8080` 공통 소스를 오염시키지 않도록 구조를 정비
- 다음 작업에서 디자인/기능을 추가해도 다시 경로가 꼬이거나 임시 연결이 누적되지 않게 만드는 것
구체적으로 정리해야 할 대상:
- 어떤 화면이 어떤 소스 파일을 기준으로 렌더링되는지 명확화
- `incoming-files`의 참고 자산, 실제 서빙 자산, 임시 실험 자산 구분
- `frontend/public`, `legacy/static`, `incoming-files` 사이의 역할 재정리
- `8081` 전용 복구/실험 파일과 `8080` 공개용 파일의 승격 절차 표준화
- 중복 스타일/임시 색상 치환/산발적인 버전 쿼리스트링 사용 정리
완료 기준도 이 관점으로 본다:
- 다음 세션에서 파일 출처와 연결 구조를 다시 추적하느라 시간을 쓰지 않아도 될 것
- 특정 화면 수정 시 어느 파일을 고쳐야 하는지 즉시 알 수 있을 것
- `8081` 실험이 `8080`을 망가뜨리지 않는 구조가 유지될 것
- 디자인 복구/승격 작업이 diff 중심으로 통제 가능할 것
재부팅 후 같은 8080/8081 화면을 다시 올릴 수 있도록 영구 경로 기준으로 정리하고 커밋함.
적용 내용:
- `8081` 전용 worktree 경로를 `/tmp/...` 대신 메인 저장소 내부 `.dev-worktree-8081`로 고정
- `prepare_dev_worktree.sh`는 기존 `.dev-worktree-8081`이 있으면 재사용하고, `FORCE_RECREATE=1`일 때만 완전 재생성하도록 변경
- `start_8081.sh` 추가: `8081`만 재기동
- `start_local_dashboards.sh` 추가: `8080` + `8081` 같이 재기동
- 문서들에 재부팅 후 기동 절차와 마운트 확인 규칙 반영
현재 확인 상태:
- `mh-dashboard-organization-dev-backend-1`는 실제로 `/home/hyunho/projects/mh-dashboard-organization/.dev-worktree-8081/...`를 마운트 중
- 즉 `8081`은 더 이상 휘발성 `/tmp` 경로에 의존하지 않음
메인 저장소 커밋:
- `4b4ffaf` `docs: persist isolated 8081 startup workflow`
실제 사용 명령:
- `./scripts/start_local_dashboards.sh`
- 또는 `./scripts/start_8081.sh`
이후 목적:
- 재부팅 후에도 현재와 같은 분리 구조로 `8080`, `8081`을 복원 가능하게 유지
- `8081`의 디자인 복구본은 `.dev-worktree-8081` 기준으로 계속 이어서 작업
prepare_dev_worktree.sh가 reference 자산 복제 경로까지 최신 구조에 맞게 갱신됨
관련 운영 문서와 체크포인트도 현재 구조에 맞게 정리됨
비고:
초기 본문에 있던 /tmp/... 경로 설명은 과거 복구 시점 기준이고, 현재 공식 기준은 .dev-worktree-8081이다.
현재 목적이었던 8080/8081 분리 운영 기준 고정은 달성됨.
현재 기준으로 완료 처리 가능.
반영 완료:
- `8081`은 `.dev-worktree-8081` + `work-8081` 기준으로 고정
- `prepare_dev_worktree.sh`가 reference 자산 복제 경로까지 최신 구조에 맞게 갱신됨
- 관련 운영 문서와 체크포인트도 현재 구조에 맞게 정리됨
비고:
- 초기 본문에 있던 `/tmp/...` 경로 설명은 과거 복구 시점 기준이고, 현재 공식 기준은 `.dev-worktree-8081`이다.
- 현재 목적이었던 `8080`/`8081` 분리 운영 기준 고정은 달성됨.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
배경
8081작업용은 원래8080과 포트만 다른 서버가 아니라, 코드 소스까지 분리된 전용 worktree에서 기동되어야 한다.이번 복구 과정에서
8081이 메인 workspace를 직접 마운트한 상태로 떠 있으면8080과 디자인 소스가 섞이고, 오전 작업 디자인도 재현되지 않는 문제가 확인되었다.확인된 사실
8081경로는/tmp/mh-dashboard-organization-dev-worktreemh-dashboard-organization-devdocker inspect mh-dashboard-organization-dev-backend-1기준 마운트 소스가/tmp/mh-dashboard-organization-dev-worktree/...여야 함.env와 일부 로컬 전용 디자인 자산(sample style.css,260320.html,사업관리대장/등)은 git clone만으로는 보장되지 않으므로 준비 단계에서 같이 복제해야 함이번에 정리한 내용
scripts/prepare_dev_worktree.sh가.env와 로컬 전용 incoming 자산까지 같이 복제하도록 보강docs/DEV_PROD_DB_PROTOCOL.md에 8081 분리 기동 절차와 검증 기준 추가docs/REGRESSION_CHECKLIST.md에 마운트 소스 확인 절차 추가docs/WORK_RULEBOOK.md에 8081은 반드시 분리 worktree에서만 띄운다는 규칙 추가완료 기준
./scripts/prepare_dev_worktree.sh후 바로8081이 분리 worktree 기준으로 뜰 것8081이 메인 workspace를 직접 마운트하는 상태를 문서와 체크리스트로 방지할 것8080과8081이 같은 디자인 소스를 동시에 보지 않도록 운영 규칙이 남아 있을 것추가 목적을 명확히 남깁니다.
이번 이슈에서 말하는
코드 정리는 단순 포맷 정리나 함수명 변경이 아닙니다.실제 목적:
8080/8081, 메인 허브, 조직현황 legacy, 프로젝트 분석, 팀/개인별 분석, 사업관리대장 통합 경로가 서로 복잡하게 얽혀 있는 상태를 정리iframe, 정적 HTML, legacy 스크립트, incoming 파일, 공통 스타일, 페이지별 스타일의 연결 관계를 단순화8081에서만 적용해야 하는 작업이8080공통 소스를 오염시키지 않도록 구조를 정비구체적으로 정리해야 할 대상:
incoming-files의 참고 자산, 실제 서빙 자산, 임시 실험 자산 구분frontend/public,legacy/static,incoming-files사이의 역할 재정리8081전용 복구/실험 파일과8080공개용 파일의 승격 절차 표준화완료 기준도 이 관점으로 본다:
8081실험이8080을 망가뜨리지 않는 구조가 유지될 것재부팅 후 같은 8080/8081 화면을 다시 올릴 수 있도록 영구 경로 기준으로 정리하고 커밋함.
적용 내용:
8081전용 worktree 경로를/tmp/...대신 메인 저장소 내부.dev-worktree-8081로 고정prepare_dev_worktree.sh는 기존.dev-worktree-8081이 있으면 재사용하고,FORCE_RECREATE=1일 때만 완전 재생성하도록 변경start_8081.sh추가:8081만 재기동start_local_dashboards.sh추가:8080+8081같이 재기동현재 확인 상태:
mh-dashboard-organization-dev-backend-1는 실제로/home/hyunho/projects/mh-dashboard-organization/.dev-worktree-8081/...를 마운트 중8081은 더 이상 휘발성/tmp경로에 의존하지 않음메인 저장소 커밋:
4b4ffafdocs: persist isolated 8081 startup workflow실제 사용 명령:
./scripts/start_local_dashboards.sh./scripts/start_8081.sh이후 목적:
8080,8081을 복원 가능하게 유지8081의 디자인 복구본은.dev-worktree-8081기준으로 계속 이어서 작업현재 기준으로 완료 처리 가능.
반영 완료:
8081은.dev-worktree-8081+work-8081기준으로 고정prepare_dev_worktree.sh가 reference 자산 복제 경로까지 최신 구조에 맞게 갱신됨비고:
/tmp/...경로 설명은 과거 복구 시점 기준이고, 현재 공식 기준은.dev-worktree-8081이다.8080/8081분리 운영 기준 고정은 달성됨.