2026-08-09

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

요약 (AI 작성)

maru의 거대해진 app_session을 주제별 파일로 가른 날입니다. agent_dock(#2004)을 시작으로 file_panel·pane·dock·tab·sidebar·scroll·settings·workspace·web·input·notification·agent·git·term을 차례로 떼어냈고, 한 그룹만 쓰는 파일 레벨 헬퍼를 그 그룹 파일로 함께 옮겼으며(#2044) 탭 그룹 모델과 디버그 픽스처 하네스도 제자리로 옮겼습니다. 거대 허브 세 개에서는 tick의 독립 세 단계, mouse의 진행 중 제스처 라우팅, handleKeyEvent의 key-down 종결부를 함수로 떼어냈고(#1992), 익명 struct 반환에 이름을 줬으며, 웹 find 결과의 죽은 사본과 reapplyAmbiguousWidth의 죽은 코어 락을 지웠습니다(#1989). external source digest 원장은 데이터 파일로 떼고 갱신을 도구로 옮겼습니다. test 전용 헬퍼를 따로 빼는 #2026은 병합 없이 닫혔습니다.

코드 편집기와 git diff를 네이티브 GPU로 이관하는 계약도 이날 세웠습니다(#2017). 편집기가 서는 텍스트 경로를 셀로 못 박고(#2022) 편집기를 overlay composite의 first consumer로 두었으며, 기존 CM6 구현과 VSCode 소스를 대조해 gutter·상태바 배치를 확정했습니다(#2024). 그 과정에서 성능 baseline 선측정, 폰트 크기 연동이 실증됐다는 주장, gutter 근거의 출처 층과 ch 단위를 스스로 철회하거나 정정했고, 버퍼 표현은 실측 후 재선택하도록 고쳐 N2 착수 게이트로 등재했습니다. 구현은 N1 읽기 전용 뷰의 gutter와 본문 렌더(#2027)에서 시작해 뷰포트·selection·파일 입출력 계약을 세우고, 편집기 텍스트를 셀 인덱스로 배치하는 방식으로 옮겼으며, 폰트 크기를 셀에서 파생시키고 device scale 이중 적용을 막았습니다. 탭 전개가 전각 문자를 두 칸으로 세게 하고 selection 구조를 넓혔으며, 셀 배치 선택을 놓치지 못하게 assert를 셋으로 넓혔습니다(#2046). 적대적 입력을 가시화하는 Trojan Source 방어 #2045는 이날 PR이 열렸습니다.

상태바에는 리소스 항목이 붙었습니다. 설계를 실측 근거와 함께 확정하고 이 창의 터미널 메모리·CPU를 낸 뒤(#2009), 항목을 누르면 탭별 내역 팝오버가 뜨게 했고(#2021) 제목·열 머리글을 넣고 앵커가 사라지면 함께 닫히게 했습니다. 상태바 배경을 사이드바·터미널과 구분되게 바꾸고 상단 경계선을 그었으며, 앵커한 메뉴를 사이드바로 밀지 않게 했고(#2051), 앱 프로세스를 합계에 넣기로 뒤집고 tmux는 "안 하는 것"으로 문서를 정정했습니다(#2042). chrome 쪽은 알림 막대를 공용 발행 경로로 옮기고(SV5a-2, #2002), 공용 lowering이 합성 층을 인자로 받게 하며(SV6a, #1993) 오버레이 quad를 프레임 끝에 한 덩어리로 붓게 했습니다(SV6b, #2013). 셀보다 얇은 fill을 GPU quad로 내려 1px 구분선을 살리고(#2016), 탭 제목을 프레임당 한 번만 발행해 다중 pane 제목 소실을 없앴으며(#2018), 탭 제목과 사이드바 검색 줄 텍스트를 measured 경로로 옮겼습니다. 전날 열린 사이드바 헤더 정렬 #1978도 병합됐습니다.

session-host는 generation 이벤트 소유권을 봉인하고(#1998) release authority를 완성한 뒤, C3-1로 attachment가 이벤트를 소유하게 하고(#2019), C3-2로 purge-first drain을 배선했으며(#2025), C3-3에서는 실패 정산과 revoke ordering 계약을 확정해 dormant revoke authority와 final admission을 넣고 ordered revoke admission을 활성화했습니다(#2052). zntc는 #4598 작업으로 IIFE의 TLA 다운레벨을 청크 async factory에 위임하고(#4625), worker 서브빌드가 부모 format으로 TLA 위임을 판정하던 문제와 code splitting 청크 SyntaxError 회귀를 고쳤습니다(#4626). 같은 이슈의 1단계 시도였던 #4624는 닫혔습니다.

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

커밋

ohah/maru

ohah/zntc

PR (해당일 생성/머지)

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

저장소PR해당일 활동상태대상 브랜치제목
ohah/maru#2052생성 · 병합mergedmainfeat(session-host): activate ordered revoke admission
ohah/maru#2051생성 · 병합mergedmainfix(chrome): 상태바에 앵커한 메뉴를 사이드바로 밀지 않는다
ohah/maru#2050생성 · 병합mergedmainrefactor(app-session): 익명 struct 반환에 이름을 주고 web/input으로 옮긴다
ohah/maru#2049생성 · 병합mergedmainrefactor(app-session): 디버그 픽스처 하네스를 app_session/debug_fixtures.zig로 뺀다
ohah/maru#2048생성 · 병합mergedmainrefactor(app-session): F6 보정 — 탭 그룹 모델을 tab.zig로 옮긴다
ohah/maru#2047생성 · 병합mergedmaindocs(grapheme): 비-2027 ZWJ 이모지가 화면을 어긋내는 증상의 판정 근거를 남긴다
ohah/maru#2046생성 · 병합mergedmainfix(editor): 셀 배치 선택을 놓치지 못하게 assert를 셋으로 넓히고 대가를 적는다
ohah/maru#2045생성mergedmainfeat(editor): 적대적 입력을 가시화한다 (§3.8 Trojan Source 방어)
ohah/maru#2044생성 · 병합mergedmainrefactor(app-session): 한 그룹만 쓰는 파일 레벨 헬퍼를 그룹 파일로 함께 옮긴다
ohah/maru#2043생성 · 병합mergedmainfeat(session-host): add dormant final admission
ohah/maru#2042생성 · 병합mergedmaindocs(status-bar): 앱 프로세스를 합계에 넣기로 뒤집고, tmux 사각지대를 적는다
ohah/maru#2041생성 · 병합mergedmainrefactor(app-session): term·surface를 app_session/term.zig로 가른다
ohah/maru#2040생성 · 병합mergedmaindocs(status-bar): 팝오버 구현 뒤 남은 미구현 항목을 한 곳에 모은다
ohah/maru#2039생성 · 병합mergedmaindocs(session-host): close final admission contract
ohah/maru#2038생성 · 병합mergedmainfix(chrome): 알림 패널 헤더가 스크롤 시 사라지던 것과 구분선이 gutter를 가로지르던 것을 고친다
ohah/maru#2037생성 · 병합mergedmainfeat(session-host): add dormant revoke authority
ohah/maru#2036생성 · 병합mergedmainrefactor(app-session): git·SCM을 app_session/git.zig로 가른다
ohah/maru#2035생성 · 병합mergedmaindocs(session-host): split revoke ordering activation gates
ohah/maru#2034생성 · 병합mergedmainrefactor(app-session): 에이전트 관측을 app_session/agent.zig로 가른다
ohah/maru#2033생성 · 병합mergedmainfeat(session-host): confirm generation poison effects
ohah/maru#2032생성 · 병합mergedmainrefactor(app-session): 알림·벨을 app_session/notification.zig로 가른다
ohah/maru#2031생성 · 병합mergedmainfix(chrome): 스크롤바 잡는 폭을 gutter 전체로 넓힌다(그리는 폭과 분리)
ohah/maru#2030생성 · 병합mergedmainrefactor(app-session): 키 입력·IME·키바인딩을 app_session/input.zig로 가른다
ohah/maru#2029생성 · 병합mergedmaindocs(session-host): C3-3 실패 정산·revoke ordering 계약을 확정한다
ohah/maru#2028생성 · 병합mergedmainrefactor(app-session): web panel·인앱 브라우저를 app_session/web.zig로 가른다
ohah/maru#2027생성 · 병합mergedmainfeat(editor): N1 읽기 전용 뷰의 gutter와 본문 렌더를 세운다
ohah/maru#2026생성closedmainrefactor(app-session): test 전용 공용 헬퍼를 app_session/test_support.zig로 뺀다
ohah/maru#2025생성 · 병합mergedmainfeat(session-host): wire C3-2 purge-first generation drain
ohah/maru#2024생성 · 병합mergedmaindocs(editor): gutter·상태바 배치를 VSCode 소스에서 확인해 확정한다
ohah/maru#2023생성 · 병합mergedmainrefactor(app-session): workspace·window를 app_session/workspace.zig로 가른다
ohah/maru#2022생성 · 병합mergedmaindocs(editor): 편집기가 서는 텍스트 경로를 셀로 못박는다
ohah/maru#2021생성 · 병합mergedmainfeat(status-bar): 리소스 항목을 누르면 탭별 내역 팝오버가 뜬다
ohah/maru#2020생성 · 병합mergedmainrefactor(app-session): 세팅·메뉴·이름 변경·config 적용을 app_session/settings.zig로 가른다
ohah/maru#2019생성 · 병합mergedmainfeat(session-host): own generation attachment events
ohah/maru#2018생성 · 병합mergedmainfix(chrome): 탭 제목을 프레임당 한 번만 발행해 다중 pane 제목 소실을 없앤다
ohah/maru#2017생성 · 병합mergedmaindocs(editor): 코드 편집기·git diff를 네이티브 GPU로 이관하는 계약을 세운다
ohah/maru#2016생성 · 병합mergedmainfix(chrome): 셀보다 얇은 fill을 GPU quad로 내려 1px 구분선을 살린다
ohah/maru#2015생성 · 병합mergedmainrefactor(app-session): 스크롤 기구를 app_session/scroll.zig로 가른다
ohah/maru#2014생성 · 병합mergedmaindocs(status-bar): 리소스 팝오버 설계를 확정한다
ohah/maru#2013생성 · 병합mergedmainfeat(chrome): 오버레이 quad를 프레임 끝에 한 덩어리로 붓는다 (SV6b)
ohah/maru#2012생성 · 병합mergedmainrefactor(app-session): 사이드바를 app_session/sidebar.zig로 가른다
ohah/maru#2011생성 · 병합mergedmainrefactor(app-session): 탭을 app_session/tab.zig로 가른다
ohah/maru#2010생성 · 병합mergedmainfeat(session-host): complete generation event release authority
ohah/maru#2009생성 · 병합mergedmainfeat(status-bar): 이 창의 터미널 메모리·CPU를 상태바에 낸다
ohah/maru#2008생성 · 병합mergedmainrefactor(app-session): 도크 일반을 app_session/dock.zig로 가른다
ohah/maru#2007생성 · 병합mergedmainfix(chrome): 알림 배지 원을 헤더 아이콘 줄의 실제 세로 원점에 맞춘다
ohah/maru#2006생성 · 병합mergedmainrefactor(app-session): pane·split·divider를 app_session/pane.zig로 가른다
ohah/maru#2005생성 · 병합mergedmainrefactor(app-session): 파일 탐색기·파일 패널을 app_session/file_panel.zig로 가른다
ohah/maru#2004생성 · 병합mergedmainrefactor(app-session): 에이전트 세션 기록 도크를 app_session/agent_dock.zig로 가른다
ohah/maru#2003생성 · 병합mergedmainfix(chrome): 탭 제목 세로 정렬을 role line box 기준으로 고치고 큰 폰트 캡처를 남긴다
ohah/maru#2002생성 · 병합mergedmainfeat(chrome): 알림 막대도 공용 발행 경로로 옮기고 손수 그린 복제본을 지운다 (SV5a-2)
ohah/maru#2001생성 · 병합mergedmainrefactor(chrome): 탭 제목 텍스트를 measured 경로로 옮긴다
ohah/maru#2000생성 · 병합mergedmaindocs(status-bar): 리소스 항목 설계를 실측 근거와 함께 확정한다
ohah/maru#1999생성 · 병합mergedmainrefactor(boundary): external source digest 원장을 데이터 파일로 뗀다
ohah/maru#1998생성 · 병합mergedmainfeat(session-host): seal generation event ownership
ohah/maru#1997생성 · 병합mergedmainrefactor(chrome): 사이드바 검색 줄 텍스트를 measured 경로로 옮긴다
ohah/maru#1996생성 · 병합mergedmainrefactor(app-session): 웹 find 결과의 죽은 사본을 지운다
ohah/maru#1995생성 · 병합mergedmainbuild(boundary): external source digest 갱신을 손에서 도구로 옮긴다
ohah/maru#1994생성 · 병합mergedmaindocs(web-panel): 웹 탭 find 하이라이트가 남는다던 단언을 실기기 확인으로 정정한다
ohah/maru#1993생성 · 병합mergedmainrefactor(chrome): 공용 lowering이 합성 층을 인자로 받게 한다 (SV6a)
ohah/maru#1992생성 · 병합mergedmainrefactor(app-session): 거대 허브 세 개에서 소함수를 추출한다
ohah/maru#1991생성 · 병합mergedmainrefactor(chrome): measured 텍스트 캐시를 소비처별 슬롯으로 일반화한다
ohah/maru#1990생성 · 병합mergedmainfix(session-host): 픽스처 자식 대기 예산에 여유를 주고 정리 실패가 원인을 덮지 않게 한다
ohah/maru#1989생성 · 병합mergedmainfix(app-session): reapplyAmbiguousWidth의 죽은 코어 락을 제거한다
ohah/maru#1988생성 · 병합mergedmaindocs(session-host): 2c3d event owner 계약을 확정한다
ohah/maru#1987생성closedmainfix(app-session): reapplyAmbiguousWidth의 죽은 코어 락을 제거한다
ohah/maru#1978병합mergedmainfix(chrome): 사이드바 헤더를 창 오른쪽 두 밴드와 한 줄로 맞춘다
ohah/zntc#4626생성 · 병합mergedmainfix(bundler): #4598 splitting 청크 SyntaxError 회귀 + worker 가 부모 format 으로 판정하던 문제
ohah/zntc#4625생성 · 병합mergedmainfix(bundler): #4598 IIFE 의 TLA 다운레벨을 청크 async factory 에 위임
ohah/zntc#4624생성closedmainfix(transformer): #4598 TLA 래퍼가 export 스코프를 분리해 ReferenceError 를 내던 문제 (1단계)