2026-08-11

요약 (AI 작성)

문서를 통째로 재편한 날입니다. 커진 계약 문서들을 주제별로 갈랐습니다 — 네이티브 편집기, 컨트롤 플레인, 파일 패널, 에디터 Surface, 사이드바 그룹, 웹 패널, Metal UI, 설정, 터미널 분해, I/O–렌더까지 각각 계약·기록·계획으로 나누고 구현 계획은 docs/plans/ 아래 이니셔티브별 파일로 내렸습니다. 분할이 남긴 깨진 앵커와 절 참조를 교정하고 흩어진 참조(render 49건, metal-ui 13건, terminal 6건 등)를 새 소유 문서로 돌렸으며, 계약 문서에서 진행 표기와 단계 분해를 걷어내 계획 쪽으로 옮겼습니다. 무엇보다 이걸 사람 손이 아니라 CI 가 지키도록 만들었습니다 — 문서 간 링크와 절 앵커, 절 번호 참조, 연속 절 참조의 뒤쪽 절, 링크 텍스트와 URL 의 일치, 계획 문서가 인덱스에서 도달하는지를 각각 게이트로 세웠고, 그 게이트가 링크 텍스트와 URL 이 갈린 33곳과 계획 인덱스 누락 9건, 상태 표기 15건·상태 라벨 6건을 잡아냈습니다. 적대적 검증도 NAV 의 자기참조와 어긋난 단일 출처 선언을 짚어 줬습니다.

편집기에는 랩과 가로 스크롤이 붙었습니다. 폭 나눗셈으로는 접히는 자리가 안 나온다는 점을 확인하고 랩을 제대로 구현했으며, 그 반대편으로 가로 스크롤 렌더를 붙였습니다. 초장문 줄이 줄 길이만큼 비용을 내지 않도록 본문 전개에 화면 폭 상한을 두고, 초장문 줄 fixture 를 캡처 회귀로 잡았습니다. 적대적 검증 7회가 잡은 여덟 건도 함께 고쳤고, 소스 컨트롤 뷰가 활성 터미널 폴더를 따라가게 했습니다. 파일 패널은 적대적 검증을 11회차까지 돌려 알림 누수·재시도 공백·삼켜진 one-shot·우회한 busy 게이트·빈 커버리지·스크롤과 복원 문제를 차례로 정리하고, 탐색기가 root 밖 cwd 에서도 활성 터미널을 따라가게 했습니다. 사이드바는 카드 하위 목록에 모든 Term 을 싣고 종류 아이콘을 이름줄로 옮겼으며, 세션 목록을 들여쓰고 아이콘 배치를 설정으로 고를 수 있게 했습니다.

session-host 는 창 닫기 경로(C3-3b5)를 비동기로 재설계했습니다. close progress 게이트와 권위 갭을 문서로 정의하고 RED 게이트를 세운 뒤, neutral close progress 계약과 pending close readiness 투영, frozen close sweep selector 를 넣고 terminal close progress 에 타입을 줬습니다. 이어 close 권위를 remote runtime 에 결속하고 remote close 권위를 봉인했으며, remote close 가 끝날 때까지 topology 를 미루고 pending close 동안 window teardown 을 지연시켰습니다. C3-3c source-zero 경로와 앱 종료 셧다운, semantic event pump 활성화, prepared event 의 원자적 정산까지 마무리했고, Linux 이식성 문제(portable atomic rename·stat projection·manifest temp root)와 Swift 링크용 컴파일러 런타임 번들도 함께 해결했습니다. 그 밖에 바깥 터미널 멀티플렉서 신원을 자식 셸에 물려주지 않도록 pty 를 고쳤고, 주석만 고친 변경에서는 macOS·오라클 잡을 건너뛰도록 CI 를 조정했습니다.

커밋

ohah/maru

PR (해당일 생성/머지)

repo#상태제목
ohah/maru#2109mergedfeat(session-host): complete C3-3c source-zero path
ohah/maru#2108mergedfeat(session-host): complete app quit shutdown
ohah/maru#2107mergedfeat(session-host): activate semantic event pump and async close
ohah/maru#2106mergedfeat(mobile): iOS·Android 어댑터를 제품 구조로 세운다 (M0~M2 · M4a3 · M4a4)
ohah/maru#2105mergedfeat(editor): 가로 스크롤 렌더를 붙인다 — 랩의 반대편
ohah/maru#2104mergedfeat(session-host): add C3-3b5 asynchronous close progress
ohah/maru#2103mergedfeat(sidebar): 카드 하위 목록에 모든 Term을 싣고 OSC 7 유실을 막는다
ohah/maru#2102mergedtest(mermaid): cold deadline 스파이크를 실측하고 한 번 흡수한다
ohah/maru#2101mergeddocs: 적대적 검증 2·3차가 잡은 9건 — NAV 자기참조와 헤딩 빈 줄
ohah/maru#2100mergedtest(docs): 계획 문서가 인덱스에서 도달하는지 게이트가 본다
ohah/maru#2099mergeddocs: 적대적 검증이 잡은 둘 — 계획 인덱스 누락 9건과 어긋난 단일 출처 선언
ohah/maru#2098mergeddocs: 스펙 문서 절 제목의 구현 상태 표기 15건을 뗀다
ohah/maru#2097mergeddocs: 스펙 문서의 상태 라벨 6건을 규율대로 정리한다
ohah/maru#2096mergeddocs: 링크 텍스트와 URL이 갈린 33곳을 맞추고 게이트가 보게 한다
ohah/maru#2095closeddocs: 링크 텍스트와 URL이 갈린 34곳을 맞추고 게이트가 보게 한다
ohah/maru#2094mergedfeat(editor): 랩을 붙인다 — 폭 나눗셈으로는 접히는 자리가 안 나온다
ohah/maru#2093mergeddocs(render): I/O–렌더 문서를 계약·present 정책·Phase 계획으로 가른다
ohah/maru#2092mergeddocs(terminal): 분해 문서를 계약·기록·별개 이니셔티브로 가른다
ohah/maru#2091mergeddocs(config): 설정 문서를 키 표와 주제별 배경으로 가른다
ohah/maru#2090mergeddocs(metal-ui): Metal UI 계약을 덩어리 기준으로 가른다
ohah/maru#2089mergedfeat(session-host): settle prepared events atomically
ohah/maru#2088mergeddocs(agent): 에이전트 세션 도크 계약을 주제별로 가른다
ohah/maru#2087mergedci: 주석만 고친 변경에서 macOS·오라클 잡을 건너뛴다
ohah/maru#2086mergedfix(editor): 본문 전개에 화면 폭 상한을 둔다 (§3.8 초장문 줄)
ohah/maru#2085mergeddocs(editor): 에디터 Surface 계약을 주제별로 가른다
ohah/maru#2084mergedtest(docs): 연속 절 참조의 뒤쪽 절까지 검사한다
ohah/maru#2083mergeddocs(web-panel): 웹 패널 계약을 기능·계획과 가르고 진행 표기를 걷어낸다
ohah/maru#2082mergeddocs(sidebar): 사이드바 그룹 계약을 주제별로 가르고 단계 분해를 계획으로 내린다
ohah/maru#2081mergedfix(file-panel): 탐색기가 root 밖 cwd에서도 활성 터미널을 따라가게 한다
ohah/maru#2080mergedtest(docs): 문서 간 링크·앵커·절 참조를 CI 게이트로 잡는다
ohah/maru#2079mergedfix(editor): 소스 컨트롤 뷰가 활성 터미널 폴더를 따라가게 한다
ohah/maru#2078mergeddocs(editor): 네이티브 편집기 계약을 주제별 문서로 가른다