# Today Work Prep - 2026-03-30 ## Current Local State - working branch: `total` - HEAD: `24852d4` (`Fix seatmap slot matching and update member modal layout`) - remote tracking: `origin/total` - status: local branch is `ahead 2` - open PRs: none untracked files: - `docs/HISTORY_ASOF_DB_PLAN.md` - `incoming-files/6f.html` - `incoming-files/7f.html` - `incoming-files/center.html` 주의: - `docs/NEXT_SESSION_CHECKPOINT.md` 의 최신 checked commit 은 아직 `1d15cf9` 로 남아 있다. - 실제 최신 작업 판단은 아래 최근 2개 로컬 커밋 기준으로 보는 것이 맞다. ## What Was Added After `origin/total` ### Commit `d666141` - 3개 고정 오피스 자리배치도 반영 - `technical-development-center` - `hanmac-building-6f` - `hanmac-building-7f` - 백엔드 `office_key` 기반 active viewer/layout 조회 지원 - 프런트 자리배치도 탭에서 3개 오피스 선택 지원 - `scripts/sync_prod_db_to_dev.sh` 추가 - `docs/DEV_PROD_DB_PROTOCOL.md` 추가 ### Commit `24852d4` - slot 기반 자리 저장 시 slot matching 보정 - 멤버 상세 모달 / 조직도 seat preview 레이아웃 조정 - 회귀 점검용 `docs/REGRESSION_CHECKLIST.md` 추가 - dev/prod sync script 후속 보정 ## Remote Branch / Issue Snapshot remote branches: - `total` -> `1d15cf9` - `hyunho` -> `8efb5da` - `main` -> `7a0bd54` open issues: - `#11` `[P0] [버그] 자리배치도 회귀 오류` - `#12` `[P1] [DB] 공개용/작업용 seat_positions 스키마 불일치 정리` - `#13` `[P1] [인프라] 작업용 DB 동기화 절차 안정화 및 자동화` - `#14` `[P2] [리팩터링] 누적된 임시 로직 정리 및 중복 코드 제거` - `#10` `[P1] [분석] 1~2월 원본 정합성 보정 및 팀/개인별 검색 범위 개선 작업 정리` - `#9` `[P1] [이력관리] as-of date / 버전 누적 저장` - `#8` `[P2] [자리배치도] 좌석 클릭 시 개인 상위 조직 트리 표시` - `#7` `[P2] [자리배치도] 팀별 색상 오버레이 표시` - `#5` `[P2] [인증] 권한 제어 마무리 및 mock login 정리` - `#3` `[P1] [기능] 사무실 좌석 배치도 조회 및 관리자 편집 기능 고도화` - `#2` `[P0] [인프라] 백엔드 영속 저장 구조 운영 마무리` 현재 관계 해석: - `#11` 은 최근 2개 커밋이 직접 겨냥한 회귀 묶음이다. - `#12`, `#13` 은 `#11` 재발 방지용 운영 과제에 가깝다. - `#3` 은 다중 오피스 도면 반영으로 많이 진척됐지만, 공개용 기준 회귀 검증 전에는 완료 처리하면 안 된다. - `#2` 는 단순 구현보다 dev/prod 데이터 운영 기준 정리가 핵심으로 바뀌었다. - `#5` 는 로그인 구현보다 권한 경계와 `/api/mock-login` 정리가 남은 상태다. ## Best Starting Point Today 오늘 첫 작업은 새 기능 추가보다, 최근 자리배치도/DB 동기화 작업을 검증 가능한 상태로 굳히는 쪽이 우선이다. 우선순위: 1. `#13` 프로토콜대로 작업용 DB를 `minimal` 범위로 동기화 2. `docs/REGRESSION_CHECKLIST.md` 기준으로 자리배치도 회귀 확인 3. 최근 2개 로컬 커밋을 `origin/total` 에 올릴지 결정 4. 회귀가 남아 있으면 `#11` 계속, 없으면 `#5` 또는 `#12/#13` 후속 정리로 이동 이 순서가 맞는 이유: - 현재 가장 최근 변경이 seatmap + DB sync 쪽에 몰려 있다. - 원격 `total` 은 아직 해당 수정들을 포함하지 않는다. - 검증 없이 다른 기능으로 넘어가면 회귀 원인과 신규 작업이 다시 섞인다. ## Concrete Start Checklist 세션 시작 즉시: 1. `docs/DEV_PROD_DB_PROTOCOL.md` 다시 확인 2. 필요 시 `./scripts/sync_prod_db_to_dev.sh minimal` 3. 로그인 상태 확인 4. 아래 3개를 오피스별로 확인 - 관리자 DnD 배치 저장 - 조직도 상세 seat preview - 비관리자 seatmap 진입 / 표시 필수 확인 오피스: - `기술개발센터` - `한맥빌딩 6층` - `한맥빌딩 7층` ## Recommended Decision Tree ### Case A. 회귀가 남아 있음 - 바로 `#11` 우선 - 동시에 원인 범주를 분리 - DB sync 실패 - `seat_positions` 스키마 차이 - 프런트 fallback 오류 - 저장 API 로직 오류 ### Case B. 회귀가 해소됨 - 최근 2개 커밋 푸시 - Gitea `#11`, `#3`, `#2` 코멘트 상태 업데이트 - 다음 메인 작업을 아래 중 하나로 선택 - `#5` 권한 제어 / mock login 제거 - `#12`, `#13` DB sync 안정화 마무리 - `#9` history / as-of 구조 착수 ## Suggested Main Task After Verification 가장 자연스러운 다음 메인 작업은 `#5` 보다 `#12`, `#13` 마무리다. 이유: - 지금 이 코드베이스에서 자리배치도/조직도 검증은 DB 상태에 크게 좌우된다. - 권한 작업을 시작해도 검증 기반이 흔들리면 다시 혼선이 생긴다. - 반대로 sync 절차와 스키마 호환을 먼저 고정하면 이후 `#5`, `#9`, `#8`, `#7` 진행이 쉬워진다. ## Short Summary - 코드 최신 상태는 로컬 `total@24852d4` - 원격 `total` 은 아직 최신 seatmap/sync 수정 전 상태 - 오늘 첫 목표는 `#11` 관련 회귀 검증과 `#12/#13` 기반 정리 - 검증 완료 전에는 새 기능보다 seatmap + DB 운영 안정화를 우선하는 것이 맞다