chore(조사): 요구 268-3 저장 · 확정 누락 전수 — H1~H6 · M1~M7 · 고침 묶음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C6BNBFXFndbqYxu6sZuknK
This commit is contained in:
2026-10-18 18:28:49 +09:00
co-authored by Claude Opus 5.5
parent 80070352be
commit 34da9e5cd6
@@ -0,0 +1,37 @@
# 요구 268-3 — B05 · B06 [저장] · [확정] 누락 항목
분석 = 클로드 에이전트(Opus 5.5 · 읽기만 · 코드 file:line) · 브레인 판단. 같은 탭에선 세션 초안이 남아 고친 값이 보여 모름 → **새 탭 · 다음 날** 드러남.
## 결함
| ID | 심각 | 무엇 | 근거 | 재현 |
|---|---|---|---|---|
| H1 | 치명 | B06 카드 폭을 표본 폭(약 20 m) 넘게 넓히면 서버가 저장 없이 횡단 · 종단 행을 지우고 다시 만듦 → 측점별 설계(지반 · 메모 · CAD · 상세 표 · 조절) · 표준 횡단면 · 유토 · 계획고 편집(추정) 사라짐 | `B06_Section_UI_Page_Common.ts:36` → `B06_Section_Router.py:400-470` · `B06_Section_Repository.py:230-234` · `B06_Section_Router_Regenerate_Options.py:53-72` | 새 탭 → 카드 폭 ▶ 21 m → 새로고침 → 기본값 |
| H2 | 높음 | 관 · 구조물 0.5 m 넘게 옮겨 [저장] → 그 측점 예전 저장 메모 · 조절 · 지반 사라짐(이번 탭에서 고친 값만) · 화면은 옛 칸 남겨 DB 와 갈림 | `B05_Profile_Repository.py:261-279` · `B06_Section_Router_Confirm.py:285-299` · `logic/B06_Section_Station_Swap.ts:79-86, 201-207` | 저장된 관 5 m 옮김 → [저장] → 새 탭 |
| H3 | 높음 | 벽 조절 · 추가 벽 · 단별 구간은 이번에 만진 것만 보내고 서버가 통째 교체 → 다른 벽 값 0 | `B06_Section_UI_Page_Station_Controls.ts:610-655` · `B06_Section_Repository_Bulk.py:111-113` | 유입 · 유출 저장 → 새 탭 유출만 고쳐 저장 → 유입 0 |
| H4a | 높음 | 관 구간값(culvertopt · 누가거리 0.01 m 열쇠)이 관 옮김 · 노선 바뀜에 안 따라가고 못 맞춘 값 지움 | `B06_Section_Api_Culvert_Options.ts:80-90` · `B06_Section_Station_Keys.ts:55-70` · `design_save.ts:160` | 구간값 → 관 5 m 옮김 → [저장] |
| H4b | 높음(추정) | 관 차례에서 배수 패널이 옛 옵션으로 PUT → 구간값 덮음(두 번째 [저장]) | `design_save.ts:226-231` · `B05_Profile_UI_Drainage_Panel.ts:396-403, 670-677` | 구간 10 → 14 저장 → 다른 편집 저장 → 10 |
| H5 | 높음 | 노선 바꾼 [저장]이 카드 선택 · 암선 · 암 경사 · 표준 횡단면 · 풍선 위치 안 보내고 「저장됨」 표시 | `B06_Section_Section_Store.ts:325-364` · `B06_Section_Section_Adjusts.ts:97-125` · `B06_Section_Cross_Refresh.ts:92-117` · `design_save.ts:244` · `design_leave.ts:28-34` | 지반 고침 → 교점 이동 → [저장] → 탭 닫음 |
| H6 | 높음 | 구조물 저장 실패를 삼킴(429 멈춤 밖) · 「저장했습니다」 | `B05_Profile_UI_Page_Structures.ts:236-273` | 다른 탭 먼저 저장(409) → [저장] |
| M1 | 중 | 집수정 내공 화면 0.1 이상 · 서버 1.0~2.0 → 422 로 횡단 차례 멈춤(반쪽 저장) · CAD 2000 넘음 같음(추정) | `B06_Section_UI_Cross_Structure_Panel.ts:314-320` · `B06_Section_Schema.py:77-78, 187` | 내공 2.1 → [저장] |
| M2 | 중 | 벽 ↺ · 연동 해제 · 추가 벽 0 · 빈 전체 폭이 세션만 지움 → 다시 열면 저장값 부활 | `B06_Section_UI_Page_Station_Controls.ts:202, 309, 369, 515-527, 672` | 추가 벽 1 → 새 탭 − → [저장] → 1 |
| M3 | 중 | 상단측(uphill) 세션이 저장 뒤 안 지워져 매 [저장] 재전송 · 옮긴 자리에 얹힘(추정) | `B05_Profile_UI_Page_Helpers.ts:232-255` · `B05_Profile_Router_Confirm.py:80-88, 131-208` | 상단측 → 측구 방향 반대 → 반복 |
| M4 | 중 | B05 페이지 설정(설계속도 · 지형 구분 · 기준값 · 시종점 계획고 조정 · 시작 측점) [저장] 본문에 없음 · 열 때 되돌림 | `B05_Profile_UI_Panel_Settings.ts:62-143` · `B05_Profile_UI_Page_Actions.ts:40-83` | 설계속도 30 → [저장] → 20 |
| M5 | 중 | 행 없는 측점 patch · 기본 설계 실패 · 측점 맞춤 실패를 조용히 버림 · 버린 수 안 알림 | `B06_Section_Router_Confirm.py:104-107, 160-162` · `B06_Section_Repository_Bulk.py:99-101` · `B06_Section_Router_Design.py:648-651` | — |
| M6 | 중 | B05 확정 안 비정규 측점 · 상단측 병합 실패해도 200 | `B05_Profile_Router_Lifecycle.py:60-68, 94-99` | — |
| M7 | 중(추정) | kindreset 이 노선 바뀜에 안 옮겨져 엉뚱한 측점 조절 지움 | `B06_Section_Section_Store.ts:333` | — |
낮음: 측구 「자동」 되돌림 불가(최상위 null 걷음) · 암 아님 측점이면 암선 지워짐 · mass_haul 다시 셈 실패 시 곡선 빔 · 잠금만 바꿔도 노선 저장 체인 돎 · 쓰지 않는 culvertmove.
## 오늘 바뀐 것
429 = 구조물 차례(H6) · B05 확정 하위(M6)는 멈춤 규칙 밖 · 428 = H2 · 415 · 417 = 옮김 목록에 culvertopt · kindreset · uphill 빠짐(H4a · M7 · M3) · 430 · 439 = 누락 없음.
## 고침 묶음 (브레인 정함)
- 443(sub4) H6 · M3 · M6 — 구조물 저장 실패 = 초안 남기고 던짐(429 멈춤) · 상단측 차례 성공하면 uphill 세션 비움 · 확정 하위 실패 알림.
- 444(sub5) H4a · H4b — culvertopt 를 옮김 목록에 · 못 맞춘 값 안 지움 · 구간값 차례 뒤 배수 패널 다시 읽음(또는 구간값을 관 초안에).
- 445(sub6) H2 · H3 · M2 · H5 · M1 · M5 · M7 — 저장 patch 바탕 = 캐시 설계의 사용자 칸 + 세션 얹음(통째 dict · 옮긴 측점도 저장값) · 되돌림 = 안쪽 열쇠 null · 노선 바꾼 저장에 카드 선택 · 암선 · 암 경사 · 표준 횡단면 · 풍선 실음 · 그 전엔 markDesignClean 안 함 · 집수정 화면 범위 = 서버 1.0~2.0 · /save 응답에 버린 수 · kindreset 옮김 · 옮긴 측점은 지반 등 사용자 칸 모두 들고 감.
- 446(sub8) H1 — 표본 폭 넘김 다시 만들기가 측점 설계 · 옵션 · 유토 풍선 · 계획고 편집을 측점 열쇠로 옮겨 담음 · 다시 만들기 전 확인창.
- M4 = 사용자 결정(페이지 설정 저장 대상 / 읽기 전용).
- 모든 묶음: 고치기 전 검증 프로젝트 DB 행(routes · route_points · route_statistics · longitudinal_sections · cross_sections · project_workflow_stages · projects) · storage 파일 떠 둠 · 값마다 고침 → [저장] → 새 탭(빈 세션) → 같은 값 · [확정]도 · 관 5 m 옮김 · 교점 끌기 · 두 번째 [저장] · 되돌림 뒤 · 끝나면 행 대조 · 파일 해시로 되돌림 · 사용자 프로젝트 안 씀(시놀로지로 데스크탑과 이어짐).