Commit Graph
5597 Commits
Author SHA1 Message Date
eomsangdonandClaude Opus 5.5 43d0ccb63f merge(B01): main_laptop_1(549-2 시스템 관리 · 내 정보) 합침 — 옛 구역 정리 · 시험 옮김
- B01_Dashboard_UI_Legacy.ts: 세부 페이지가 다 갈아 끼워 옛 구역 · mountLegacy 지움 · 고른 회사 자리 · 상태 타입만 남김
- B01_Dashboard_UI_Views.ts: 쓰는 곳 없는 legacy 도우미 지움
- B01_Dashboard_UI_Style_Pages.css: 배지 색(549-1) · 시스템 관리 꼴(549-2) 둘 다 살림
- test_b01_settings_cards · test_309_2: 지운 옛 카드 부품 대신 settingLinks · 설계 기본값 페이지 · 사람 페이지를 읽음(낡은 시험)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:33:32 +09:00
eomsangdon bbedceeae1 Merge remote-tracking branch 'origin/sub_laptop_5' into main_laptop_1
# Conflicts:
#	B01_Dashboard/B01_Dashboard_UI_Views.ts
#	resources/tester/test_546_b01_shell.py
2026-10-26 18:28:47 +09:00
eomsangdon a924f466bf Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_4
# Conflicts:
#	B01_Dashboard/B01_Dashboard_UI_Views.ts
#	resources/tester/test_546_b01_shell.py
2026-10-26 18:27:08 +09:00
eomsangdonandClaude Sonnet 5.5 7e34152de8 feat(B01): 받은 예정노선 · 임시 보관함 · 사람 · 회사 정보 · 회사 설계 기본값 세부 페이지 (549-1)
- 새 페이지 다섯(View_Assigned · Temp · People · Company · CompanyDefaults) · 등록부 다섯 줄 교체
- 표 줄 40 · 세로선 없음 · 줄 끝 ⋯ · 한글 배지 · 빈 상태 · 사람 탭 가입 요청 수 배지 · 보관함 남은 날 막대(7 일 안 빨강)
- 옛 구역 정리(Legacy · Company · AssignedPlans · TempUpload 다시 씀) · 시험 test_549 · test_546 stub 일반화

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 18:26:27 +09:00
eomsangdon bed7957a65 Merge remote-tracking branch 'origin/sub_laptop_2' into main_laptop_1
# Conflicts:
#	B01_Dashboard/B01_Dashboard_UI_Views.ts
#	resources/tester/test_546_b01_shell.py
2026-10-26 18:25:26 +09:00
eomsangdonandClaude Opus 5.5 729f4c75b8 feat(B01): 대시보드 홈 — 진행 중 수에 따라 꼴이 저절로(1 큰 카드 · 2~3 중간 · 4~8 한 줄 · 9 넘음 요약) (PLAN 547-2)
- 등록부 home 줄 = mountHome · 썸네일 선 · 단계 점 · 「다음: 지금 단계」 · [이어서 하기] = 그 단계 화면 · [자세히] = 상세
- 4~8 = 팀원별 · 단계 분포 · 14 일 넘게 그대로 표시 · 9 넘음 = 요약 숫자 · 회사별 막대 · 종류 원(인라인 SVG)
- 오른쪽 = 처리할 일 · 임시 보관함 · 회사(회사 관리자) · 예정노선(산림청) · 처음 = 세 걸음 · 꼴 고정(자동 · 작게 · 크게) 기억
- 홈 역할 차례 = 셸 roleOf 와 같게(회사 관리자가 산림청 앞)
- test_546 등록부 시험 — import 한 mount 이름을 빈 함수로 저절로(페이지 줄 갈아 끼워도 그대로)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:20:21 +09:00
eomsangdonandClaude Sonnet 5.5 70786cef9e feat(B01): 시스템 관리 · 내 정보 세부 페이지 여섯 — 개요 · 회사 · 사용자 · 설계 기본값 · 로그 · 내 정보 (PLAN 549-2)
- 개요 = 숫자 카드 넷 + CPU · 메모리 · 디스크 게이지(70 % 주황 · 90 % 빨강) + 7 일 SVG 그래프
- 회사 = 목록(찾기 · ⋯) → 상세(정보 · 사람 · 프로젝트 탭) · 사용자 = 회사 · 역할 · 찾기 거르기 · ⋯
- 설계 기본값 = 설정 카드를 묶음 제목 + 줄로 · 시스템 로그 = 동작 · 기간 · 찾기 거르기 + 이전 기록 더 보기
- 내 정보 = Linear 꼴 설정 줄(기본정보 · 비밀번호 · 테마 · 내 설계 기본값)
- 옛 구역(리소스 패널 · 옛 내 정보 폼) 지움 · 지킴 시험 test_549 추가 · test_546 stub 맞춤

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 18:19:47 +09:00
eomsangdon 9826538c74 Merge remote-tracking branch 'origin/sub_laptop_3' into main_laptop_1 2026-10-26 18:19:35 +09:00
eomsangdonandClaude Opus 5.5 13b417120c test(B01): 셸 등록부 시험 — 가져온 mount 함수를 저절로 흉내 (PLAN 548)
등록부에 세부 페이지 mount 가 늘면 고정 흉내 셋(mountLegacy · mountGuide · mountChat) 밖 이름이
ReferenceError — import 줄에서 이름을 읽어 빈 함수로 둠.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:18:48 +09:00
eomsangdon bd1a080afc Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-26 18:13:22 +09:00
eomsangdonandClaude Opus 5.5 0ab85ec3b3 feat(B01): 대시보드 셸 마무리 — 메뉴 배지 · 알림 수 · 사용자 메뉴 테마 줄 (546-2)
- 메뉴 배지 = 가입 요청(빨강) · 받은 예정노선 미연결 · 업데이트(빨강) · 임시 보관함 묶음 수 — 페이지 바뀔 때마다 다시 셈
- 알림 종 = 처리할 일 수(가입 요청 + 새 예정노선 + 보관함 만료 7 일 안) · 누르면 홈
- 사용자 메뉴 테마 줄 = 바꾼 뒤 반대 화면 이름으로 다시 씀
- 셸 안 글 색 변수(--color-text 등)도 셸 색으로 — 어두운 화면 제목 보라 빠짐
- 시험 test_546_b01_shell 배지 · 레일 · ☰ 걷음 단정 더함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:12:33 +09:00
eomsangdon 5aaf7f4e65 Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_3 2026-10-26 18:09:03 +09:00
eomsangdon 93e99872e4 Merge remote-tracking branch 'origin/sub_laptop_3' into main_laptop_1 2026-10-26 18:08:47 +09:00
eomsangdonandClaude Opus 5.5 070791854c feat(B01): 프로젝트 상세 화면 · 카드 요약 연결 · 지킴 시험 (PLAN 548-2)
- 상세 화면(view=project) — 머리 · [⋯] · [작업 열기 — 지금 단계 ›] · 단계 진행(누름 = 그 단계) ·
  노선 지도(배경 타일 + 선 · 시점 · 종점) · 핵심 숫자 · 기본 정보 · 연결된 것 · 산출물 · 최근 변경(있는 칸만)
- 목록 · 상세 숫자 · 썸네일 = 547-1 카드 요약(project_summaries) 한 벌
- 색 = 셸 변수(--b01-*) 이름에 맞춤
- 시험 test_548_project_overview — 칸반 나눔 · 산출물 · 내 것 · 단계 수 짝

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:08:18 +09:00
eomsangdon 3c69fb96ca Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-26 18:06:18 +09:00
eomsangdonandClaude Opus 5.5 e505f4014d feat(B01): 대시보드 새 틀 — 셸 · 왼쪽 메뉴 · 세부 페이지 등록부 (546-1)
- 셸 = 위 머리 48(AISLO · 회사 이름 — 시스템 관리자 회사 전환 · 찾기 자리 · [?] · 알림 자리 · 사용자 메뉴) + 왼쪽 메뉴 210 + 챗봇 단추
- 등록부 B01_Dashboard_UI_Views.ts — { key, title, group, roles, icon, mount(host, ctx) } · 주소 ?view= · 같은 주소 안 이동 = 페이지만 갈아 끼움(MountedPage)
- 역할 넷(일반 · 회사 관리자 · 산림청 · 시스템 관리자) · 권한 없는 묶음 · 항목 숨김 · 권한 없는 열쇠 = 홈
- 열쇠마다 옛 구역 부품 그대로 얹음(B01_Dashboard_UI_Legacy.ts) — 기능 빠짐 0
- 옛 ☰ 서랍 · 구역 접기 · 회사 알약 걷음 — 테마 · 언어 · 터치 · 설정 · 로그아웃은 사용자 메뉴로
- 아이콘 = Tabler(MIT) 선 아이콘 몇 개(ui_template_icons.ts · 라이센스 글 함께)
- 시험 — test_b01_settings_cards 옛 한 페이지 단정(buildPage · 접힘 · 알약) 지움 · 셸 회사 고르기 단정으로 바꿈 · test_546_b01_shell 새로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:05:56 +09:00
eomsangdonandClaude Opus 5.5 8b1b286e04 feat(B01): 프로젝트 카드 요약 함수 · API — 단계 · 썸네일 선 · 담당 · 멈춘 날 · 연장 · 측점 · 구조물 (PLAN 547-1)
- B01_Dashboard_Summary.project_summaries(ids) — 쿼리 다섯 번(개수 무관) · 넣은 차례 · 없는 값은 칸 뺌
- 썸네일 = 최신 노선 GeoJSON 중심선 100 점 안쪽 · 0~1 칸(가로세로 비 유지 · y 아래로)
- GET /api/dashboard/projects/summary?ids= — 보이는 프로젝트만(시스템 관리자 전부 · 회사 · 내 것)
- 실측 21 개 0.14 s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:01:25 +09:00
eomsangdonandClaude Opus 5.5 4753d88983 fix(D03): 끈 지점 분석이 저장 지점 분석본을 덮지 않음 — 파생 저장본 연도 + 지점 열쇠 파일 (PLAN 543-4)
- 분석본 = route_<연도>_<지점 열쇠>.json · GET 은 DB 지점 분석본 · 끈 지점 GET 은 그 분석
- [저장] 뒤 정본 = 끈 지점 분석본(DB 지점 따라감)
- 쌓임 거르기 = 연도마다 최근 3 개 + 저장 지점 것
- 옛 꼴 route_<연도>.json 은 읽기만(공유 storage · 임시 배포 옛 판 서버가 읽음 — 옮기지 않음)
- 시험 test_530_2 끈 지점 분석 · 저장 · 쌓임

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 13:51:48 +09:00
eomsangdonandClaude Opus 5.5 a5e895c66a chore(merge): main_laptop_1 받음 — D03 장면 목록 양쪽 살림(sub2 장면 00 · 05 · 08 + D03_09 꺾임점 고침)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 13:37:17 +09:00
eomsangdonandClaude Opus 5.5 47c3b65cc4 feat(D03): 꺾임점 고침 [저장] 정본 — 서버가 마디로 선 · 지표 다시 셈 · 이은 누가 고친 길이 · GET 은 분석 지문 같은 고침만 · 산림청만 · 시험 (PLAN 543-3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 13:32:13 +09:00
eomsangdonandClaude Opus 5.5 084df5137c feat(D03): 예정노선 꺾임점 고침 순수 함수 — 마디 끌기 · 넣기 · 지우기 · 곡선 손잡이 R · 처음 · 끝 잠금 · 이은 누가 고친 길이 짝(withEdits ↔ with_edits) · 서버 선 짝 · 거울 시험 (PLAN 543-1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 13:18:05 +09:00
eomsangdonandClaude Opus 5.5 f3269f7f20 feat(D03): 예상 횡단 순수 함수 — 표준 횡단 기본값 · 계획고 = 중심 지반고 · 미교차 넓힘 · 코리도 측점 꼴(PLAN 544-1)
- 새 logic/D03_PlanAnalysis_Expect.ts — 공용 computeCrossDesign + B 초기 기본(리핑암 · 산쪽 절토 · 일반 측구 · 암 경계 기본) · extendUnclosed
- 새 시험 test_544_1_plan_expect.py — TS 설계선 · 절 · 성토 ㎡ = 파이썬 compute_cross_design

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 13:16:05 +09:00
eomsangdonandClaude Sonnet 5.5 852af20206 feat(D01·D04): 예정노선 측점 표기 No.+거리(61+14.5 꼴) — D01 입력 옆 표기 · D04 표 · xlsx 측점 칸
- D01 시작 · 종료 칸 이름 측점 말로 · 입력 옆 즉시 `= 61+14.5` (저장값 m 그대로)
- D04 표 측점 열 · xlsx 시점 · 종점 측점 칸 덧(m 칸 · shp 숫자 칸 유지)
- 파이썬 station_label ↔ stationLabel 거울 시험 · 도움말 D01 · D04 글 · 그림 열여섯 장 다시 찍음

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 12:48:33 +09:00
eomsangdonandClaude Sonnet 5.5 96359deae5 fix(가이드): 그림 설명 속 대괄호([저장] 꼴)도 그림으로 그림 — 그림 줄 풀이 정규식 · 시험 덧
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 10:31:27 +09:00
eomsangdonandClaude Sonnet 5.5 e3e3531647 feat(A05 가이드 캡처): 걸음 mouse_click(좌표 · sel 기준 · 오른쪽 · 더블) · optional(요소 없으면 건너뜀) · 검사 부분 짝 파일로 분리 · 시험 덧
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 09:56:57 +09:00
eomsangdon 434cbcceb1 Merge remote-tracking branch 'origin/sub_laptop_1' into sub_laptop_2 2026-10-26 09:54:00 +09:00
eomsangdonandClaude Opus 5.5 4f4cc22c36 fix(가이드): 좌측 패널 [?] 늦게 붙인 단추 줄에도 자리 — E03 · E04 · E06 · E07(요구 359-2 · 360-2)
- 까닭 = 패널을 세운 뒤 단추 줄을 붙이는 화면은 쪼갬 · [?] [<] [>] 자리를 못 찾음
- 고침 = 공용 좌측 패널이 단추 줄이 붙는 때를 지켜보다 한 번 쪼갬 · 붙으면 지켜보기 끊음
- 시험 = 늦게 붙인 줄 · 먼저 붙인 줄 [?] 한 벌(새) · 280-2 헬퍼 대역에 538-3 고침 모듈 더함(낡음)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 09:46:24 +09:00
eomsangdonandClaude Sonnet 5.5 d6137b362d fix(A05 가이드 캡처): 위험 단추 검사가 선택자 글자만 봄(text= · :has-text) · class · id 이름 제외 · 시험 덧
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 09:39:57 +09:00
eomsangdon 24d87afc98 Merge remote-tracking branch 'origin/sub_laptop_2' into main_laptop_1 2026-10-26 09:19:45 +09:00
eomsangdonandClaude Sonnet 5.5 945ed637f7 feat(A05 가이드 캡처): 장면 account(sys · company_admin · user) 계정별 컨텍스트 · callouts sel 목록 묶음 상자 · 번호 원 화면 안 밀기 · 시험 덧
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 09:19:20 +09:00
eomsangdonandClaude Opus 5.5 2997f7682e fix(시험): test_302_2 가짜 풀 — 예정노선 지정 조회에 빈 줄
- 까닭: 528 공유 판정이 require_project_access 에 plan_route_assignees 조회를 더함 · 가짜 풀이 모든 fetchone 에 회사 줄을 돌려 「지정받은 회사」로 읽힘 → 남의 회사 GET 200
- 코드 구멍 아님 — 진짜 서버(8001) 회사 3 계정: 남 회사 GET 403 · 미지정 예정노선 403 · 지정 예정노선 GET 200 · PUT 403
- 공유 판정 지킴 시험은 test_528 에 있음(지정 GET 200 · PUT 403 · 미지정 403)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 09:17:40 +09:00
eomsangdon ff972b7f8a Merge remote-tracking branches 'origin/main_laptop_1', 'origin/sub_laptop_1' and 'origin/sub_laptop_2' into sub_laptop_7 2026-10-26 09:05:48 +09:00
eomsangdonandClaude Opus 5.5 32d9df0de7 feat(A05 가이드 캡처): 장면마다 sessionStorage 비움 · clip · 번호 대상 찍기 전 스크롤 · before 단계 select · scroll
- 장면 첫 적재 때 sessionStorage 비움(window.name 표시 · 장면 안 새로고침은 지킴) · localStorage 프로젝트 · 테마 그대로
- clip · callouts 대상 scrollIntoView 뒤 자리 잼 — 화면 밖 대상 번호 어긋남 막음
- 단계 열쇠 select(value · Playwright select_option) · scroll(선택자) · 머리 설명 갱신
- 시험 test_539_guide_capture 덧(select · scroll 통과 · select value 없음 · scroll 빈 글 거절)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 08:59:56 +09:00
eomsangdonandClaude Opus 5.5 eba6e0c01d fix(B09 인쇄 도면): 계획평면도 파생 저장본 응답(Response JSON)도 도면으로 읽음 — 도면 PDF 400 「plan_terrain 을 읽지 못했습니다」 해소
- 원인: B07 단건 조회가 계획평면도(plan_*)는 파생 저장본(508-3c) 길로 모델 대신 날 JSON Response 를 돌려줌 · B09 는 .drawing 속성만 보고 오류로 침
- 고침: 200 · application/json Response 면 본문 JSON 을 그대로 읽음 · 오류 응답은 그대로 400 글
- 지킴 시험 test_543_print_plan_stored_copy (저장본 Response 읽음 · 오류 응답 읽지 못함)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 08:57:47 +09:00
eomsangdonandClaude Opus 5.5 e04e88e371 feat(가이드): 538-4 그림 더블클릭 바꾸기 — 시스템 관리자만 · WebP · 폭 1800 · _manual.json
- 그림(또는 빈 그림 자리) 더블클릭 → 숨은 파일 고르기(png · jpg · webp) → 새 판으로 그 항목만 다시 그림
  · 그림 한 번 누름 = 아무 일 없음 · 그림 아래 설명 더블클릭 = 그림 줄 글 고침
- POST /api/help/{page}/img (multipart · name = 그 그림 이름) — require_system_admin(403) · 확장자 ·
  5 MB · Pillow 로 진짜 그림 확인 · 폭 1800 px 넘으면 줄임 · WebP 로 그 이름에 원자 쓰기 ·
  _manual.json(손으로 바꾼 그림 이름 — 자동 캡처가 안 덮음)에 더함
- 시험: WebP · 줄임 · manual · 확장자 · 크기 · 그림 아님 · 경로 탈출 · 403

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 08:56:20 +09:00
eomsangdonandClaude Opus 5.5 73bdb9bc5b feat(가이드): 538-3 글 더블클릭 바로 고침 — 시스템 관리자만 · 판 409 · 원자 쓰기
- 덩어리(제목 · 문단 · 목록 · 표 · 주의 상자 · 그림 줄) 더블클릭 → 그 원문 줄 textarea(높이 자동)
  · 바깥 누름 · Ctrl+Enter 저장(안 바뀌면 요청 없음) · Esc 취소 · 한글 조합 중 Enter · Esc 무시
  · 고침 열린 채 모달 닫으면 저장 · 저장 뒤 그 항목만 다시 그림
- PUT /api/help/{page}/{key} {version, start, end, text} — require_system_admin(403) · 판 다르면 409 ·
  그 줄만 갈아 임시 파일 → os.replace · 줄바꿈(CRLF) · BOM 그대로 · 409 면 다시 불러오고 내 글은 절 머리에 보여 둠
- 모달 Esc: 몸이 막은 Esc · 한글 조합 중 Esc 는 안 닫음
- 시험: 줄 바꿈 · 빈 글 지움 · CRLF/BOM · 409 · 403 · 나쁜 범위/항목 · 원자 쓰기 실패 때 원본 그대로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 08:53:34 +09:00
eomsangdon 6e4f8d7043 Merge remote-tracking branches 'origin/main_laptop_1' and 'origin/sub_laptop_1' into sub_laptop_2 2026-10-26 08:52:44 +09:00
eomsangdon e85d5ef260 Merge remote-tracking branch 'origin/dev' into sub_laptop_2 2026-10-26 08:52:42 +09:00
eomsangdon 5105aa95a6 Merge remote-tracking branch 'origin/sub_laptop_2' into main_laptop_1 2026-10-26 08:50:55 +09:00
eomsangdonandClaude Opus 5.5 eb0d488146 feat(A05 가이드): 가이드 그림 자동 캡처 스크립트 + 장면 목록 꼴 확정(PLAN 539-1 · 요구 359-6)
- A05_EduDetail_Guide_Capture.py — 헤드리스 Edge(없으면 chrome) · 1600×900 · 2배 · 밝은 테마 ·
  장면마다 새 탭 · 노란 둥근 테두리 + 검은 번호 원 · 통째 / clip 요소 · WebP 품질 85 · _manual.json 건너뜀
- 장면 목록 _scenes.json 꼴 = 머리 설명(before · after 단계 click · contextmenu · fill · hover · press ·
  eval · wait · wait_ms · frame = CAD iframe 안 · viewport · settle_ms · clip_pad · callouts pos · allow_post)
- 지킴 — 위험 단추(저장 · 확정 · 초기화 · 적용 · 삭제 · 메일) 선택자 · 실제 글자 둘 다 거절 · confirm 은
  after [취소] 필요 · 페이지 /api 쓰기 요청 끊음
- 지킴 시험 test_539_guide_capture.py 45 통과

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 08:49:42 +09:00
eomsangdonandClaude Opus 5.5 02f15c3d6a feat(가이드): 538-2 [?] = 넓은 모달 한 가이드 · 차례 묶음 → 페이지 → 기능 · 그림 · 주의/참고 · B01 [?]
- [?] = openModal wide · 왼쪽 차례(임도 설계 B → 안정성평가 E → 예정노선 D · 지금 페이지 펼침) ·
  오른쪽 = 모든 페이지 이어 그림 · 처음 = 보이는 data-help-topic 절 → 지금 페이지 절 → 맨 앞 · B05↔B06 짝 걷음
- 그리기: 덩어리마다 원문 줄(data-src) · `![설명](이름.webp)` → figure(loading=lazy · ?v=판) ·
  없는 그림 = 관리자 「그림 없음 — 더블클릭해 지정」 / 일반 「그림 준비 중」 · `> 주의:` · `> 참고:` 상자 ·
  `[글](B06/00_설명서)` → 모달 안 이동 · 페이지를 안 넘기면(B01 지식 채팅) 옛 출력 그대로
- GET /api/help 에 페이지마다 그림 판 · GET /api/help/{page}/img/{name}(이름 규칙 · no-cache) ·
  옛 GET /api/help/{page} 걷음(모달이 한 가이드로 바뀜)
- B01 대시보드 머리 역할 배지 왼쪽에 [?]
- 시험 test_538_help_guide.py(변환 글 · 그림 404 · admin 칸) + helper_538_help_render.cjs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 08:47:38 +09:00
eomsangdonandClaude Opus 5.5 0f32c241ca feat(가이드): 538-1 글 자리 A05_EduDetail/guide 로 옮김 + GET /api/help 한 가이드 읽기
- resources/help → A05_EduDetail/guide (git mv · 이력 남김) · 참조 고침(서버 · 시험 · B03 주석 · ui_checks)
- GET /api/help = 모든 페이지 [{page, title, items:[{key, title, text, version}]}] + admin
  · 페이지 = ^[BDE]\d{2}$ 폴더 · `_` 파일 · 그림 뺌 · version = sha256 앞 16자 · 페이지 제목 = 00_설명서 제목
- GET /api/help/{page} 는 538-2 까지 살림 · B01 폴더 허용
- 시험: 글 내용 검사(명사형 · 400 자) 걷음 — 시스템 관리자가 화면에서 바로 고친 글이
  지킴 시험을 빨갛게 하지 않게(요구서 359 4장 6) · 차례 · 판 · `_` 파일 · 나쁜 폴더 · 경로 탈출 시험 더함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 08:37:33 +09:00
eomsangdonandClaude Opus 5.5 3a37ceba8c fix(E02 도움말): 우기 깎기 1.2 근거 맞춤 — KDS 11 70 05 표 4.3-3 원문 · 「확인 필요」 걷음(요구 358-2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 06:32:11 +09:00
eomsangdonandClaude Opus 5.5 dc26000e8c knowledge(안정성평가): 04 우기 깎기 기준안전율 설명을 KDS 11 70 05 표 4.3-3 원문대로 바로잡음(지하수위 결정 1.2 · 강우 침투 1.3) — 요구 358-2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 06:32:10 +09:00
eomsangdon b01ef3b97e auto: 2026-10-26 05:11 (ESD_LAPTOP) 2026-10-26 05:11:04 +09:00
eomsangdon ac5b636eac Merge remote-tracking branches 'origin/sub_laptop_2', 'origin/sub_laptop_3' and 'origin/sub_laptop_4' into main_laptop_1 2026-10-26 05:05:44 +09:00
eomsangdonandClaude Opus 5.5 9db4b4de33 feat(E05): 보고서 「확률해석」 시트(있을 때만) — 측점 · 비탈 · 조건마다 결정론 Fs · 평균 · σ · Pf · β · P(F<기준) · 변수 토네이도 순 · 양식 s12 · 자리표 (537-1 · 요구 351)
- E05_StabReport_Prob(새 파일): E03 확률 저장본(가장 최근) → s12 · 기본값 후보 그대로면 「사용자 확정 전」 · 아니면 「사용자 입력」
- Build: 입력 · 해석 지문 · 프로그램 몫 s12 · 없으면 시트 뺌 · Print 목차 제목
- 양식 stab_report.json s12(가로 · A~K) · stab_report_slots.md s12 · 양식 시험 시트 차례 · 빈 판 쪽 수 +1
- 시험 test_537_1_e03_prob_route: E05 시트 값 = 저장본 · 없으면 뺌 · 화면 계산 TS 요청 = 서버 ProbRequest

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 05:04:56 +09:00
eomsangdonandClaude Opus 5.5 a72042ec57 perf(531-6): D03 [분석] 속도 — 연도 구간 나란히 프로세스 · 계류 거르기 · 결과 차 0
- 연도 구간을 프로세스 min(연도 수, PLAN_ANALYZE_WORKERS 기본 3)로 나란히 · 끝난 구간은 B 기억 비움
- 저장본이 있는 구간만 이 프로세스에서 지문 확인(다시 [분석] 빠른 길 그대로)
- 계류 거르기: 지형 상자 칸마다 닿는 거리 안의 선만 엔진에 줌 — 계류 거리 · 건너기 · 격자 거리 같음
- 실측(3연도 6.5 km 찬 상태): 797.5 s · 1264 MB → 287.7 s · 합 1942 MB · 갈래 넷 좌표 · 잰 값 차 0
- 시험: 나란히 = 차례 결과 같음 · 계류 거르기 거리 · 교차 같음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 05:04:41 +09:00
eomsangdonandClaude Sonnet 5.5 d9357a5f58 test(536-3): 측점 꼴 네일 길이 대 안전율 단조 · 보강 없음 이상 시험
- 네일 3행 L 3~25 m 임계 F 줄지 않음 · 탐색 한계 그대로 (요구 351 · sub4 0ef659b0d 뒤)
- 0+720 우 깎기 우기: 보강 없음 1.027 → L 3 1.049 · 7.5 1.219 · 25 1.487 · 최소 길이 7.5 m

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 04:56:42 +09:00
eomsangdonandClaude Opus 5.5 2bbf76a99a feat(E03): 확률 해석 길 — 대표 단면만 · 뒤에서 · 진행률 · 파생 저장본 stab2d_prob · 기본값 후보 prob_defaults.json (537-1 · 요구 351)
- Router_Prob(새 파일): GET setup(단면 물성 = E02 값 · 기본값 후보 · 근거 · 지하수 갈래 · 기준안전율 · 결정론 F · 마지막 결과)
  · POST(임계면 고정 = 서버 스레드 · 매회 탐색 = 일꾼 프로세스 풀 · 같은 지문 = 저장본) · GET progress · GET 기록 목록(E05)
- 거절 422: 대표 단면 아님 · 단면에 없는 물성 · 수위선 · r_u 갈래 아닌 지하수 변수 · 변수 없음 · 매회 탐색 2000 회 넘음
- prob_defaults.json(M02 마스터 층): c 대수정규 0.30(붕적토 0.40) · φ 0.10 · γ 0.05 · ±3σ · ρ 0 · LHS 1000 · 국내 · 국외 근거
- main.py 길 붙임 · 시험 test_537_1_e03_prob_route 3(검증_sub4 동결 복사)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 04:52:42 +09:00