2026-08-13
날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.
요약 (AI 작성)
maru의 편집기를 하나의 Term 종류로 승격한 날입니다. 프레임 조립을 chrome 컴포넌트로 올린 뒤(#2144), SurfaceKind에 editor를 더해 타입 자리를 만들고 kind == .web으로 뭉뚱그려 있던 8곳을 분류했으며, 편집기 Term을 만들어 파일을 붙이고 훅이 파일을 편집기 Term으로 열어 렌더 블록까지 잇게 했습니다. 사이드바 아이콘에서 편집기가 빠져 있던 것도 채웠습니다. 렌더 쪽에서는 배경 quad가 자기 본문을 덮고 있던 것을 layer 3에서 2로 고치면서 합성 층에 이름을 줘 Lab과 제품이 갈리던 자리를 없앴고, 배경이 텍스트를 덮는 것을 Lab 게이트가 잡게 했습니다(#2158). 편집기 배경은 terminal_bg 토큰으로 터미널과 같은 색을 쓰되 창 투명도는 그 역할에만 걸고, 본문에는 창 padding을 적용하지 않게 정리했습니다.
터미널에서는 wrap 이음의 유령 공백 문제를 뿌리부터 팠습니다. 안 쓴 칸과 쓴 공백을 구분하는 것에서 시작해 soft-wrap 이음이 wrap 채움을 내용으로 삼지 않게 하고, BCE로 칠한 화면에서도 같은 규칙이 서게 했으며, 중립 렌더 계층도 안 쓴 칸을 빈 칸으로 보게 맞췄습니다(#2156). 화면을 지워도 스크롤백에서 줄이 계속 이어지던 문제도 잡아, 홈에서의 ED 0·ED 1과 0행을 비우거나 덮는 연산도 스크롤백 wrap을 끊게 했습니다(#2153). 넓힌 뒤 커서 줄 복사의 패딩 공백을 다루던 #2155는 병합 없이 닫혔습니다. 폰트는 셰이핑을 run 단위로 묶고 합자를 설정으로 뺐습니다(#2151). 사이드바는 토글 행의 파형 중복 그리기, 에이전트 행 상태 마커 위치, 카드 호버 밴드가 상태바를 덮던 문제를 고쳤습니다(#2157).
모바일 작업은 deploy/mobile 브랜치에서 이어졌고 main 반영은 아닙니다. 전날 열린 iOS UITextInput 전환 #2131, 커서 #2133, 렌더 루프 수정 #2138이 그 브랜치에 병합됐고, 스크롤(#2142), 길게 눌러 잡는 선택(#2148), 복사(#2152), 보조 키바(#2146), 이모지 컬러 아틀라스(#2159)와 셸 따옴표·-- 플래그 입력, 선택 중 화면 흐름 수정이 같은 브랜치에 들어갔습니다. 번들 폰트에 없는 기호를 채우는 #2165는 이날 열렸습니다.
session-host는 전날 열린 CR0b incident artifact 영속화 #2140을 병합하고, incident writer를 부트스트랩했으며(#2143), incident process 권위를 격리하고 크로스플랫폼 경계를 맞췄습니다. managed client publication도 봉인했습니다(#2149). 앱 종료 단계를 계측하고 정리 전에 창을 내리는 #2139도 병합됐습니다. 로컬 셸이 OSC 7 authority를 비워 자기 세션을 원격으로 오판하던 SSH 문제 #2163과 CR0b incident publication 기반 #2164는 이날 PR이 열렸습니다.
공개 커밋 42개, 해당일 생성 또는 병합된 PR 30개를 정리했습니다. PR 생성 25개·병합 26개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/maru
- fix(editor): 편집기 배경에 창 투명도를 건다 — terminal_bg 역할에만
- feat(chrome): 편집기 배경을 터미널과 같은 색으로 — terminal_bg 토큰
- fix(editor): 편집기 본문에 창 padding을 적용하지 않는다 — grid → body
- fix(editor): 삽입이 가로챈 doc 주석 둘을 제자리로 되돌린다
- test(chrome): Lab 게이트가 배경이 텍스트를 덮는 것을 잡게 한다
- fix(chrome): 합성 층에 이름을 준다 — Lab과 제품이 갈린 자리를 없앤다
- test(editor): 렌더 계약에 회귀 테스트를 붙이고 세션 deinit의 문서 누수를 고친다
- fix(editor): 배경 quad가 자기 본문을 덮고 있었다 — layer 3 → 2
- feat(editor): 훅이 파일을 편집기 Term으로 열고 렌더 블록을 잇는다
- fix(editor): 사이드바 아이콘에서 편집기가 빠져 있었다
- fix(editor): 적대적 검증이 잡은 셋을 고친다 — 라벨·collector·테스트
- feat(editor): 편집기 Term을 만들고 파일을 붙인다
- feat(session): kind == .web 8곳을 분류해 편집기를 넣는다
- feat(session): SurfaceKind에 editor를 더한다 — 편집기 Term의 타입 자리
- test(chrome): 헤더 고정 quad 가 scissor 를 견디는지 골든이 본다
- fix(session-host): scratch open 실패를 skip 이 아니라 error 로 낸다
- fix(session-host): 테스트 임시 디렉터리를 열 때 잔여물을 걷는다
- test(macos): wrap 경계를 걸친 검색을 헤드리스로 캡처하는 픽스처
- fix(renderer): 중립 렌더 계층도 안 쓴 칸을 빈 칸으로 본다
- fix(terminal): CI 가 잡은 세 자리를 닫고 바뀐 동작을 고정한다
- fix(terminal): BCE로 칠한 화면에서도 wrap 채움을 내용으로 안 삼는다
- fix(terminal): soft-wrap 이음이 wrap 채움을 내용으로 삼지 않게 한다
- refactor(terminal): 안 쓴 칸을 쓴 공백과 구분한다(동작 무변)
- fix(chrome): app_session.zig external source digest 를 갱신한다
- fix(sidebar): 카드 호버 밴드가 상태바를 덮지 않게 뷰포트 바닥에서 자른다
- fix(sidebar): 에이전트 행의 상태 마커를 두 형태 모두 선두에 둔다
- fix(terminal): 0행을 비우거나 덮는 연산도 스크롤백 wrap 을 끊는다
- fix(terminal): 홈에서의 ED 0·ED 1 도 스크롤백 wrap 을 끊는다
- fix(terminal): 화면을 지워도 스크롤백에서 이어지던 줄이 안 끊겼다
- perf(font): 셰이핑을 run 단위로 묶고 합자를 설정으로 뺀다
- fix(session-host): skip CR0b product fixtures off macOS
- fix(session-host): gate CR0b runtime init by platform
- feat(session-host): seal managed client publication
- fix(sidebar): 토글 행에서 같은 파형을 두 번 그리지 않는다
- fix(session-host): isolate incident process authority
- fix(session-host): align CR0b cross-platform boundaries
- fix(session-host): remove empty incident directory
- feat(session-host): bootstrap CR0b incident writer
- refactor(editor): 프레임 조립을 chrome 컴포넌트로 올린다
- docs(trace-replay): 셸 이벤트 스트림의 드레인 제약을 단일 출처에 적는다
- feat: persist CR0b incident artifacts securely
- feat(app-host): 종료 단계를 계측하고 정리 전에 창을 내린다
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.