2026-08-11

날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.

요약 (AI 작성)

maru의 문서를 통째로 재편한 날입니다. 전날 열린 구현 계획 분할 #2074, 컨트롤 플레인 계약 분할 #2076, 파일 패널 계약 분할 #2077이 병합됐고, 이어 네이티브 편집기(#2078), 사이드바 그룹(#2082), 웹 패널(#2083), 에디터 Surface, 에이전트 세션 도크, Metal UI(#2090), 설정, 터미널 분해, I/O–렌더(#2093) 문서를 각각 계약·기록·계획으로 갈랐습니다. 분할이 남긴 깨진 앵커와 절 참조를 교정하고 흩어진 참조(render 49건, metal-ui 13건, terminal 6건 등)를 새 소유 문서로 돌렸으며, 계약 문서에서 진행 표기와 단계 분해를 걷어내 계획 쪽으로 옮겼습니다.

이 정리를 CI가 지키도록 게이트도 세웠습니다. 문서 간 링크와 절 앵커, 절 번호 참조(#2080), 연속 절 참조의 뒤쪽 절(#2084), 링크 텍스트와 URL의 일치(#2096), 계획 문서가 인덱스에서 도달하는지(#2100)를 검사하게 했고, 그 과정에서 링크 텍스트와 URL이 갈린 33곳, 계획 인덱스 누락 9건, 절 제목의 상태 표기 15건과 상태 라벨 6건을 정리했습니다. 적대적 검증은 NAV의 자기참조와 어긋난 단일 출처 선언도 짚었습니다(#2101). 34곳을 맞추려던 첫 PR #2095는 닫히고 #2096으로 대체됐습니다.

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

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

공개 커밋 95개, 해당일 생성 또는 병합된 PR 35개를 정리했습니다. PR 생성 32개·병합 32개는 같은 PR이 양쪽에 포함될 수 있습니다.

커밋

ohah/maru

PR (해당일 생성/머지)

상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.

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