2026-08-03

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

요약 (AI 작성)

maru의 세션 도크 텍스트 렌더링을 시스템 UI 수준으로 끌어올린 날입니다. cached pixel glyph text 토대(#1812)와 리뷰용 폰트 스펙시먼(#1816)을 먼저 놓고, typography 계약을 고정한 뒤(#1828) text role을 전파했습니다(#1830). 이어 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 크기 오버라이드를 뒀습니다. text worker를 분리하고 시스템 text worker 경계를 이식 가능하게 만들어 도크를 비동기 system text로 안정화했고(#1832), Retina 도크 text 정렬과 icon-only text lowering은 테스트로 고정했습니다.

도크 크롬 자체도 다듬었습니다. 액션을 Button으로 분리하고(#1833) 라벨과 그룹을 측정해 간격을 토큰화했으며(#1836), role line box로 컨트롤을 정렬하고 유틸리티 아이콘을 가운데에 맞췄습니다. refresh 아이콘에 고정 슬롯과 인셋을 주고, 폭과 목록 밀도(#1819), 시각 계층(#1826), 시각 대비와 경계 대비, 헤더 경계, chrome 기하 bound를 차례로 보정했습니다. 기능으로는 세션 상세를 인라인으로 펼치고(#1825), 오래된 아카이브 스캔을 취소하며(#1820), 터미널 재개 액션 문구를 명확히 했고, 레거시 archive 탭 수명주기를 제거했습니다(#1841). AppKit 아카이브 액션 검증, archive detail 상태 캡처, 상세 close/reopen E2E, 확장 스크롤 앵커, 폰트 배율별 도크 기하 테스트가 이를 받쳤습니다.

session-host는 ended purge를 트랜잭션으로 완성했습니다. 계획을 권위 없는 projection으로 분리하고(#1806) commit 트랜잭션을 정의한 뒤(#1807) quarantine 부트스트랩, commit 권위 준비, finalization 권위 2단계 고정, Client substrate 완성(#1837), 오케스트레이션 마무리(#1842)까지 이었습니다. ClientSlot teardown에 동시성 fence를 넣고(#1814), Client 생성 정책을 문서로 정한 뒤 caller closure·guard 정책·receiver 정책을 테스트로 강제했으며, generation input facade와 capability facade(#1851)를 추가했습니다. CI는 session-host 게이트를 병렬 job으로 나누고(#1810) 변경 영역별로 job을 돌리게 했으며(#1822), 적대적 검증에서 찾은 changed-area 게이트 우회도 막았습니다.

파일 패널은 읽기 모드에 새던 빈 요소를 없애고 통과시킨 태그에 모습을 줬습니다(#1839). 읽기 링크 열기를 사용자가 실제로 누른 클릭으로 제한하는 #1840은 이날 PR이 열렸습니다. ohah.github.io에는 크론이 남긴 CRD 점검 요약 커밋이 하나 들어갔습니다.

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

커밋

ohah/maru

ohah/ohah.github.io

PR (해당일 생성/머지)

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

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