---
title: "⚖️ 의사결정 — 기록 상세 '수정' 플로우: A안(카드 위 오버레이 모달) 확정 / B안 폐기"
category: "decision"
parent: "의사결정 기록"
updated: "2026-07-04"
priority: "High"
purpose: "기록 상세 카드의 수정 ✎ 동작 방식 결정. B안(/log 페이지 이동 후 ?open= 복귀)은 복귀 시 History 재조회 대기로 '경로 화면' 잔상이 남아, A안(페이지 이동 없이 /log 폼을 카드 위 오버레이 모달로 embed)으로 확정. History 미언마운트라 잔상 0. 이후 수정 UX는 A안 기준."
read_when: ["수정 플로우 결정","A안 오버레이","B안 폐기","기록 상세 수정","LogEntry embed","페이지 전환 잔상","카드 복귀"]
document_type: "의사결정"
source_status: "generated"
knowledge_group: "03_history"
work_timestamp: "20260704_113701"
source_of_truth: "https://dallog-tools.hansbridge.co.kr/knowledge/"
context: "달록본레포CC (D:\\dallog\\dallog_git)."
---

> 사장님 확정("훨씬 낫다"). 결정 반영 커밋 `2e9ca67`(A 전환) 이후 `main`·`demo`·`phase1-release` 적용. 향후 상세 수정 UX는 A안 기준.

## 1. 배경/문제
- '수정 ✎'은 신규 수정 UX를 만들지 않고 **기존 `/log` 기록하기 폼을 edit mode로 재사용**하는 것이 요건.
- 1차 구현(B안): 카드 '수정' → `/log?tab=&edit=<id>`로 **페이지 이동** → 저장/닫기 시 `/history?tab=&open=<id>`로 복귀. 복귀 시 History가 새로 마운트되어 **서버 재조회 대기 중 빈 기록화면('경로 화면')이 잠깐 노출**되는 잔상.
- B안 완화(모듈 캐시로 첫 프레임부터 카드 표시)로도 잔상이 완전히 사라지지 않음.

## 2. 검토한 선택지
- **A안(채택)**: `/log` 폼을 **페이지 이동 없이 History 위 오버레이 모달로 embed**. History가 언마운트되지 않아 복귀·재조회 자체가 없음 → **잔상 0**. 저장 후 재조회로 카드 in-place 갱신.
- **B안(폐기)**: 페이지 이동 + `?open=` 복귀 + 모듈 캐시 첫프레임. 구조는 단순하나 페이지 전환 잔상 상존.
- **C안(미채택)**: 클라이언트 캐시 하이드레이션 — 잔상 최소화이나 완전하진 않음.

## 3. 결정
**A안 확정.** 근거: 완전한 매끄러움(무깜빡임)이 사용자 체감상 명확히 우수. 트레이드오프(구조 변경: `LogEntry`에 `embed` prop 추가, History에 오버레이/동기화 로직)는 감수. `/log` 라우트 페이지 모드는 그대로 보존(deep-link·신규작성 무영향).

## 4. 실행 결과
- B안 machinery(모듈 캐시·`?open=` 복귀 효과·로딩스피너 우회) **전량 제거**.
- A안: `editModal` 상태 + 카드 위 `.rdc-edit-overlay`(z: `--z-modal-2` 360, 카드 300 위) + `LogEntry embed`. 저장→`onEditDone`(모달 닫고 재조회)→동기화 효과가 카드 최신화.
- 우클릭 컨텍스트 '수정'도 A로 통일. Codex 검수: 기능 회귀 없음.

## 5. 향후 기준
- 상세 수정은 **A안(오버레이 모달) 기준**. `/log` 폼은 embed로 재사용하며 신규 수정 UX를 별도로 만들지 않는다.
