# 047 — 저메모리 네이티브 편집기에서 문서 찾기 고정 정의 TUI는 키를 알고 있으면 다른 문서를 열 수 있었지만, 저장된 키를 찾는 방법이 없었다. 그래서 실제 앱에서 이미 만든 문서를 다시 선택하려면 외부 파일 목록을 봐야 했다. 편집기의 **Ctrl+L 문서 목록**을 저장소 호스트에 추가했다. 화살표·Home·End로 이동하고 Enter로 연다. Ctrl+O는 새 키 입력을 계속 담당한다. 미저장 초안이 있으면 목록으로 전환하지 않는다. 목록은 저장소 디렉터리의 `obj-KEY` 이름을 한 번 읽어 정렬한 스냅샷이다. 한 키에 65 B를 사용하고 8,192개(최대 532,480 B)에서 멈춘다. 한도를 넘거나 디렉터리 읽기에 실패하면 불완전한 목록을 보여주지 않고 기존 문서를 유지한다. 목록을 닫으면 배열을 해제한다. 삭제된 키를 선택해도 새 빈 문서로 조용히 전환하지 않고 오류를 보여준다. 실제 본문을 열 때는 기존 런타임의 검증된 READ 경로를 통과한다. 코어·저장 형식·작성 언어·고정 실행 계획은 바뀌지 않았다. [실제 PTY 검사](../../prototypes/connections/results/2026-09-24-terminal-document-list/tui.json)는 문서 전환, 초안 보호, 목록 이후 삭제된 키, 1 MiB 편집을 확인한다. 별도 저장소에 **1,024개 실제 문서**를 CLI로 만들고 TUI의 정렬된 목록에서 마지막 키를 열었다. 같은 경로의 [ASan·UBSan 실행](../../prototypes/connections/results/2026-09-24-terminal-document-list/sanitized.json)도 통과했다. LeakSanitizer는 검사 환경의 ptrace 제약으로 껐다. | Linux AArch64 / GCC 14 | 앞선 TUI | 문서 목록 포함 TUI | |---|---:|---:| | 링크된 `text` | 28,762 B | 31,303 B | | 링크된 `data` | 988 B | 1,036 B | | 1 MiB 문서 편집 피크 RSS | 3,168 KiB | 2,832 KiB | | 1,024키 목록 피크 RSS | 미측정 | 1,856 KiB | | CLI+TUI 압축 묶음 | 34,216 B | 35,642 B | | CLI+HTTP+TUI 압축 묶음 | 51,844 B | 53,385 B | [TUI 코드 섹션 상한](../../prototypes/connections/results/2026-09-24-terminal-document-list/profile.json)은 기능을 확인한 뒤 29,696→32,768 B로 검토해 높였다. 결합 묶음의 상한도 53,248→54,272 B로 높였고 CLI 전용 16,384 B 상한은 유지했다. 이번 [CLI 전용 묶음](../../prototypes/connections/results/2026-09-24-terminal-document-list/cli-check.json)은 14,706 B다. 새 [CLI+TUI](../../prototypes/connections/results/2026-09-24-terminal-document-list/cli-tui-check.json)와 [CLI+HTTP+TUI](../../prototypes/connections/results/2026-09-24-terminal-document-list/cli-http-tui-check.json)는 모두 다른 위치에 풀어 실제 명령·PTY·HTTP를 실행했다. 이 압축 크기는 libc나 실행 메모리가 아니다. RSS 값은 서로 다른 한 번의 실행에서 관찰한 값이며 목록 추가로 1 MiB 편집 메모리가 줄었다는 증거가 아니다. 두 경우 모두 기존 4 MiB 회귀 상한 안에 있다. 목록은 편집 중 스토어 변화를 자동 추적하지 않는다. Ctrl+L로 다시 읽을 수 있고, 키를 여는 순간 본문과 버전을 다시 검증한다. 8,192개를 넘는 대형 저장소에는 페이지 탐색이나 검색 색인이 필요하다. 이 선택 UI의 목록은 그런 범용 색인으로 주장하지 않는다. `.pure` 정의 작성은 기존 별도 작성 호스트의 책임이므로 고정 실행 TUI에 파서와 컴파일러를 링크하지 않았다.