2026-09-18 세션 — devplan 오프라인 카탈로그(단일 HTML) 신설
지시 = [페페] 「Devplan 페이지를 오프라인 파일로 만들어줘. 연결 페이지는 가져오지 않는다. 행들을 폴딩형식으로 해서 하단에 제작할 수 있게 개당 2000자 이내 설명 … 행 타이틀 = 영어이름·한글이름·기능 설명·분야필터 … 필터기능 테이블 위에 … 사이드 메뉴는 없애라 … 우측 히스토리 2개도 필요없음 … 다 되면 내 카톡으로 파일 보내줘」
산출물
C:\dev\devplan\devplan-offline.html— 233KB 단일 파일, 외부 리소스 0(CSS·JS 인라인, 링크·fetch·CDN 없음).C:\dev\devplan\_offline\build_offline.py— 빌더(--selftest). 입력 =projects.json+_offline/parts/out_*.json._offline/parts/out_01~09.json— 프로젝트별 기술설명 115건(서브에이전트 8분할 생성 + 자기 자신 1건 수기).- 허브 카드
devplan-offline(ko=오프라인 카탈로그, infra/live) 등록 →build_hub.py재빌드(selftest 12 PASS, 카드 115).
화면 규격
- 상단 = 분야 칩(전체+5) · 상태 칩(배포 51/개발중 49/개발후보 10/보류 4) · 검색창. 분야∧상태∧검색 AND.
- 표 4칸 = 영문 슬러그 · 한글이름 · 기능설명 1줄 · 분야. 행 클릭 →
colspan상세행에 기술설명(≤2000자,pre-wrap). - 지시대로 사이드바·우측 레일(최근 작업 진행/세션 요약)·외부 링크 전부 없음.
- 머리에 스냅샷 시각을 박았다(오프라인본은 갱신이 안 되므로 최신 오판 방지 — web-designer 처방).
기술설명 생성
- 8개 서브에이전트(sonnet)가
in_NN.json을 받아out_NN.json을 쓰는 분할·병합 구조. 소스 =desc+ devplan 페이지 부분 grep + 리포 확인. - 규격 = 목적 1줄 → 스택·구성요소 → 데이터흐름·핵심 알고리즘 → 외부연동 → 재현 함정. 운영 맥락(진행상태·사람·날짜)은 제외.
- 실측 길이 = 대부분 300~1,000자, 최대 1,041자(상한 2,000 이내). 한 파트가 3건을 빠뜨려 보충 지시로 메웠다 — 개수 대조를 빌드 selftest 에 넣어야 잡힌다.
검증
build_offline.py --selftest= 외부 URL 0 · 행 115 · 상세행 115 · 2000자 초과 0 · 설명 누락 0.- 실브라우저(1440·390) = 폴딩 열림/닫힘, 분야 36 → 분야+상태 19 교차, 검색 5건, 13px 미만 0, 가로 오버플로 0, 콘솔 에러 0(서버 경유 favicon 404 제외).
발송
- 노트20
phone.py sendfile 신동승으로 카톡 전송 완료(233.35KB 업로드 확인). 캡션 1건 + 파일 말풍선 2건(재시도로 중복 1건 — 지우지 않고 남김). - 경로 함정 2개는
projects/poin-agent/rules.md🆕 26.9.18 에 기록(방 행이 화면 하단이면 탭 무효 / 미니PC PC카톡은 빈 계정).
남은 것
- [페페] 폰에서 첨부 파일 열어 육안 1회(카톡 → 파일 열기 → 브라우저).
- 데이터 drift =
projects.json이 바뀌면python C:\dev\devplan\_offline\build_offline.py재실행이 필요하다(자동 갱신 아님).