2026-08-04
요약 (AI 작성)
chrome 의 상호작용 소유권을 컴포넌트 쪽으로 옮기는 CIM 작업을 시작한 날입니다. 이관 계약을 정의하고 코드 현황에 맞춰 조인 뒤, CIM1 로 click 수명만 알던 interaction 을 drag 수명까지 넓히고 intent table 을 공용화했으며, CIM2a·2b 로 divider 를 capture 대상으로 발행하고 drag capture 를 PointerGestureOwner 에서 chrome 으로 옮기면서 resize 를 tick 당 한 번으로 모았습니다. clip 밖으로 잘린 target 은 carry 대상에서 제외하도록 고쳤고, capture 우선 판정 순서와 gate 소유 축을 문서에서 바로잡았으며, CIM 단계별 종료 게이트를 검증 매트릭스에 열고 terminal tab drag 를 provisional live reorder 로 확정했습니다.
입력 소유권은 테스트로 못박았습니다. 오버레이와 InputFocus 의 대응을 이름 규약 대신 명시적 매핑으로 박고, chrome_host 오버레이가 입력 소유 두 축에 반드시 등재되도록 강제했으며, host override 가 합집합임을 동시 활성 상태로 고정하고 두 축의 parity 를 기대표로 강제했습니다. 모달 오버레이 집합은 역할표에서 파생시키도록 바꿨고, Session Dock 검색이 터미널 responder 를 요구하도록 하며 진행 중인 pointer gesture 를 도크 분기가 가로채지 않게 고쳤습니다.
Button 컴포넌트도 계약을 닫았습니다. generic Button builder 를 열고 ghost·danger variant 를 추가했으며, 상태 계약을 키보드 parity 까지 확장하고 archive detail 액션을 generic Button 으로 옮겼습니다. label 이 사라진 스택 슬롯을 가리키던 버그와 전경색을 variant 단일 출처에서 받도록 하는 수정, /code-review high 가 찾은 10건 정리도 함께 했습니다. session-host 는 prepared RPC 요청 권위를 봉인하고 할당 소유자를 가드하며 요청 권위 트랜잭션에 checkpoint 를 넣고 response payload 소유권을 봉인했습니다. 그 밖에 기하가 확정되지 않은 구간의 2x1 grid 가 host 와 workspace 를 오염시키던 문제를 고치고, 파일 패널 링크 경화의 2단계 몫으로 renderer navigation 취소를 문서에 명시했습니다.
커밋
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): 읽기 링크 열기를 사용자가 실제로 누른 클릭으로 제한합니다