2026-08-03

요약 (AI 작성)

세션 도크의 텍스트 렌더링을 시스템 UI 수준으로 끌어올린 날입니다. system UI chrome text shaper 를 추가하고 system UI 글리프를 public font API 로 rasterize 하도록 바꾼 뒤, measured dock text 와 icon lowering 을 분리해 frame 에 연결하고 renderer 쪽에 measured chrome glyph slot 보존과 rich text raster 크기 오버라이드를 뒀습니다. 이어 typography 계약을 고정하고 text role 전파와 보존된 text 제약을 넣었으며, text worker 를 분리하고 시스템 text worker 경계를 이식 가능하게 만들어 도크를 비동기 system text 로 안정화했습니다. 검증은 Retina 도크 text 정렬 고정, icon-only text lowering 고정, 리뷰 가능한 폰트 스펙시먼 추가로 받쳤고, cached pixel glyph text 토대도 함께 놓았습니다.

도크 크롬 자체도 정밀하게 다듬었습니다. 액션을 generic Button 으로 분리하고 라벨·그룹을 측정해 간격을 토큰화했으며, role line box 로 컨트롤을 정렬하고 유틸리티 아이콘을 중앙에 맞추며 refresh 글리프의 안정적인 슬롯과 인셋을 잡았습니다. 도크 헤더 경계 보존과 경계 대비 강화, 시각 대비 복구, chrome 기하 bound, 폭과 목록 밀도 보정, 시각 계층 보정이 이어졌고, 레거시 archive 탭 수명주기는 제거했습니다. 기능으로는 세션 상세를 인라인으로 펼치고, 오래된 아카이브 스캔을 취소하며, 터미널 재개 액션의 문구를 명확히 했습니다. 테스트는 폰트 배율별 도크 기하, 확장 스크롤 앵커, 상세 close/reopen AppKit E2E, archive detail 상태 캡처, AppKit 아카이브 액션 검증으로 덮었습니다.

session-host 는 ended purge 를 트랜잭션으로 완성했습니다. commit 트랜잭션과 게이트를 정의·분할하고 quarantine 부트스트랩과 projection plan(권위 없는 계획으로 분리), commit 권위 준비, finalization 권위 2단계 고정, Client substrate 완성, 오케스트레이션 마무리까지 이었습니다. 함께 generation capability facade 를 canonical registry 로 격리하고 input facade 와 2c3 facade 슬라이스를 정의했으며, Client 생성 정책을 문서로 정하고 caller closure·guard 정책·receiver 정책을 테스트로 강제했고 ClientSlot teardown 에 동시성 fence 를 넣었습니다. CI 는 변경 영역별 job 실행으로 바꾸고 changed-area 게이트 우회를 막았으며 session-host 매트릭스를 이름 붙인 병렬 job 으로 나눴습니다. 파일 패널에서는 읽기 모드에 새던 빈 요소를 없애고 통과시킨 태그에 모습을 줬으며, 읽기 링크 열기를 사용자가 실제로 누른 클릭으로 제한했습니다.

커밋

ohah/maru

PR (해당일 생성/머지)

repo#상태제목
ohah/maru#1851mergedfeat(session-host): generation capability facade를 canonical registry로 격리
ohah/maru#1850mergedtest(agent-session): verify dock geometry across font scales
ohah/maru#1849mergedtest(agent-session): cover expanded scroll anchor
ohah/maru#1848mergedfix(chrome): preserve dock header boundaries
ohah/maru#1847mergedfeat(session-host): add generation input facade
ohah/maru#1846mergedtest(agent-session): cover snapshot replace stale up
ohah/maru#1845mergedfix(chrome): strengthen dock boundary contrast
ohah/maru#1844mergedfix(chrome): restore session dock visual contrast
ohah/maru#1843mergedtest(chrome): 세션 detail close/reopen AppKit E2E 고정
ohah/maru#1842mergedfeat(session-host): complete ended purge orchestration
ohah/maru#1841mergedrefactor(chrome): 세션 도크 legacy archive tab 수명 제거
ohah/maru#1840mergedfix(file-panel): 읽기 링크 열기를 사용자가 실제로 누른 클릭으로 제한합니다
ohah/maru#1839mergedfix(file-panel): 읽기 모드에 새던 빈 요소를 없애고 통과시킨 태그에 모습을 줍니다
ohah/maru#1838mergedfeat(chrome): stabilise session dock metrics
ohah/maru#1837mergedfeat(session-host): ended purge Client substrate를 완성한다
ohah/maru#1836mergedfeat(chrome): tokenise session dock action spacing
ohah/maru#1835mergedfeat(chrome): measure session dock action groups
ohah/maru#1834mergedfeat(chrome): measure session dock action labels
ohah/maru#1833mergedfeat(chrome): 세션 도크 action을 Button으로 분리한다
ohah/maru#1832mergedfix(chrome): 세션 도크를 비동기 system text로 안정화
ohah/maru#1831mergedfeat(session-host): prepare ended purge commit authority
ohah/maru#1830mergedfeat(chrome): 세션 도크 text role을 전파한다
ohah/maru#1829mergeddocs(session-host): freeze client lifecycle owner descriptor
ohah/maru#1828mergeddocs(chrome): 세션 도크 typography 계약을 고정한다
ohah/maru#1827mergeddocs(session-host): ended purge finalization 권위를 2단계로 고정한다
ohah/maru#1826mergedfeat(agent): 세션 도크 시각 계층을 보정한다
ohah/maru#1825mergedfeat(agent): expand session detail inline
ohah/maru#1824mergedtest(session-host): Client construction caller closure를 강화한다
ohah/maru#1823closeddocs(ci): probe changed-area skip behavior
ohah/maru#1822mergedci(workflows): run jobs by changed area
ohah/maru#1821mergeddocs(agent): define inline session expansion
ohah/maru#1820mergedfeat(agent): cancel stale archive scans
ohah/maru#1819mergedfix(agent): 세션 도크 폭과 목록 밀도 보정
ohah/maru#1818mergedtest(agent): archive detail 상태 제품 캡처
ohah/maru#1817mergedtest(session-host): enforce Client guard policies
ohah/maru#1816mergedtest(chrome): add reviewable font specimens
ohah/maru#1815mergedtest(session-host): inventory Client receiver policies
ohah/maru#1814mergedfeat(session-host): ClientSlot teardown 동시성 fence를 추가한다
ohah/maru#1813mergedfix(chrome): preserve rich text placement in Lab
ohah/maru#1812mergedfeat(chrome): add cached pixel glyph text foundation
ohah/maru#1811mergedfeat(session-host): add ended purge quarantine bootstrap
ohah/maru#1810mergedci: session-host 게이트를 병렬 matrix job으로 분리한다
ohah/maru#1809mergeddocs(chrome): propose rich button boundary
ohah/maru#1808mergedfeat(chrome): verify archive actions in AppKit
ohah/maru#1807mergeddocs(session-host): define ended purge commit transaction
ohah/maru#1806mergedfeat(session-host): 종료 purge 계획을 권위 없는 projection으로 분리한다