2026-08-04
날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.
요약 (AI 작성)
maru는 chrome의 상호작용 소유권을 컴포넌트 쪽으로 옮기는 CIM 작업을 시작했습니다. 이관 계약을 정의하고(#1852) 적대적 검토로 코드 현황에 맞춰 조였으며, capture 우선 판정 순서와 gate 소유 축을 바로잡고, CIM 단계별 종료 gate를 검증 매트릭스에 열고, terminal tab drag를 provisional live reorder로 확정했습니다. 이어 CIM1로 click 수명만 알던 interaction을 drag 수명까지 넓히고 intent table을 공용화했으며(#1870), 스크롤로 clip 밖에 나간 target이 drag를 이어받던 문제도 고쳤습니다. CIM2a에서는 divider를 capture 대상으로 발행하고(#1871), CIM2b에서는 divider drag capture를 PointerGestureOwner에서 chrome으로 옮기며 resize를 tick당 한 번으로 모았습니다(#1872).
입력 소유권은 테스트로 못 박았습니다. Session Dock 검색 입력을 완성하고 확대·축소를 동기화한 뒤(#1853), 도크 검색도 터미널 responder를 요구하도록 고치고(#1857), 진행 중인 pointer gesture를 도크 분기가 가로채 드래그가 멈추던 문제를 고쳤습니다(#1856). InputFocus와 host override 두 축의 parity를 기대표로 강제하고(#1858), host override가 합집합임을 동시 활성 상태로 고정했으며, chrome_host 오버레이가 두 축에 반드시 등재되도록 하고(#1860) 오버레이와 InputFocus의 대응을 이름 규약 대신 매핑으로 박았습니다. 모달 오버레이 집합은 역할표에서 파생시키도록 바꿨습니다(#1861).
Button 컴포넌트는 B1 계약을 코드 현황에 맞추고 ghost·danger variant를 연 뒤(#1863) generic Button builder(#1864)와 키보드 parity까지 닫은 상태 계약(#1865)을 넣고, archive detail 액션을 generic Button으로 옮겼습니다(#1867). label이 사라진 스택 슬롯을 가리키던 버그(#1866), "터미널에서 이어하기" label이 화면에서 사라지던 전경색 회귀, /code-review high가 찾은 10건(#1868)도 고쳤습니다. session-host는 prepared RPC 요청 권위를 봉인하고(#1855) 할당 소유자 가드와 요청 권위 트랜잭션 checkpoint를 넣었으며 response payload 소유권을 봉인했습니다(#1862). 그 밖에 창 기하가 확정되지 않은 구간의 2x1 grid가 host와 workspace를 오염시키던 문제를 고쳤고(#1854), 전날 열린 읽기 링크 열기를 실제 사용자 클릭으로 제한하는 #1840을 병합하면서 2단계 몫인 renderer navigation 취소를 문서에 명시했습니다.
공개 커밋 43개, 해당일 생성 또는 병합된 PR 22개를 정리했습니다. PR 생성 21개·병합 22개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/maru
- feat(chrome): divider drag capture를 PointerGestureOwner에서 chrome으로 옮긴다
- feat(chrome): divider를 capture 대상으로 발행하고 resize를 tick으로 모은다
- fix(chrome): clip 밖으로 잘려나간 target은 carry 대상이 아니다
- feat(chrome): click 수명만 알던 interaction을 drag 수명으로 넓힌다
- docs(chrome): CIM1 계약을 코드 현황에 맞춘다
- test(chrome): 전경 회귀를 view 레벨에서 잡게 고친다
- fix(chrome): code-review high가 찾은 10건을 닫는다
- fix(chrome): action label 전경을 variant 단일 출처에서 받는다
- feat(chrome): archive detail action을 generic Button으로 옮긴다
- fix(chrome): Button label이 사라진 스택 슬롯을 가리키던 것을 고친다
- feat(chrome): Button 상태 계약을 키보드 parity까지 닫는다
- feat(chrome): generic Button builder를 연다
- feat(chrome): Button variant에 ghost·danger를 연다
- docs(chrome): B1 계약을 코드 현황에 맞춘다
- test(session-host): isolate alias fail-stop oracle
- test(control): accept either peer-close boundary
- fix(session-host): seal response payload ownership
- docs(session-host): split response ownership gate
- fix(chrome): 모달 오버레이 집합을 역할표에서 파생시킨다
- test(chrome): 오버레이↔InputFocus 대응을 이름 규약 대신 매핑으로 박는다
- test(chrome): chrome_host 오버레이를 입력 소유 두 축에 등재하게 강제한다
- test(chrome): host override가 합집합임을 동시 활성으로 고정한다
- test(chrome): 입력 소유 두 축의 parity를 기대표로 강제한다
- docs(chrome): 검토 이력 절을 걷어내고 현재형 계약만 남긴다
- docs(chrome): Session Dock 검색이 만든 drift를 계약에 반영한다
- docs(chrome): capture 우선 판정 순서와 gate 소유 축을 바로잡는다
- docs(chrome): CIM 단계별 종료 gate를 검증 매트릭스에 연다
- docs(chrome): terminal tab drag를 provisional live reorder로 확정한다
- docs(chrome): 상호작용 이관 계약을 코드 현황에 맞춰 조인다
- docs(chrome): 상호작용 컴포넌트 이관 계약을 정의한다
- test(chrome): 도크 검색 입력 소유를 제품 키 경로로 고정한다
- fix(chrome): Session Dock 검색도 터미널 responder를 요구한다
- test(boundaries): 도크 라우팅 가드에 맞춰 app_session 소스 digest를 갱신한다
- fix(chrome): 진행 중 pointer gesture를 도크 분기가 가로채지 않는다
- feat(session-host): seal prepared RPC request authority
- fix(session-host): guard prepared RPC allocation owners
- feat(session-host): checkpoint request authority transaction
- docs(session-host): split closed RPC ownership gates
- fix(app-session): 기하 미확정 구간의 2x1 grid가 host와 workspace를 오염시키지 않게 합니다
- fix(chrome): complete Session Dock search input
- fix(chrome): sync Agent Session Dock zoom
- docs(file-panel): 링크 경화 2단계 몫에 renderer navigation 취소를 명시합니다
- fix(file-panel): 읽기 링크 열기를 사용자가 실제로 누른 클릭으로 제한합니다
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.