2026-08-30

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

요약 (AI 작성)

@ohah/pdf가 시작된 날입니다. pdf 저장소에 wasm PDF 엔진을 따로 뗀 첫 판이 올라왔고, 이어 PDFDocument로 이름을 바꾸고 굽는 도구를 zntc로 갈았으며 소스맵을 되살렸습니다. maru 편집기는 고른 부분을 에이전트에 보내는 축을 열었습니다. 네이티브 편집기를 1차로 두는 계획을 정하고(#2873), 후보 순서와 경로 접기를 값으로 만들고(NS3, #2881), 본문 우클릭을 편집기가 가져오고(NS4, #2889), 고른 부분을 보내고(NS5, #2895), 대상 줄과 id를 같은 걸음으로 맞추며 라벨을 폴더·브랜치로 했습니다(NS6, #2899). 심볼 목록 층(#2888)과 헤더 밴드의 breadcrumb 심볼 체인(#2900)이 들어왔고, 정의·심볼·검색은 (URI?, range)로 수렴해 한 경로로 이동하고 되돌아가게 했습니다(§5.2, #2915). 구문 색을 설정 화면에서 고르고(#2874), 커서 모양을 bar·block·underline 중에서 고르게 했으며(#2922), 접힘 승격이 커서와 입력 위치를 갈라 놓던 것과 이어 치는 한글의 조합 위치 문제도 고쳤습니다. 파일 안 심볼을 필터해 이동하는 오버레이 #2934는 이날 PR이 열렸습니다.

이미지 갤러리는 이월 버퍼를 자기 자신에게 복사하던 O(N²)를 없애고 compacted 판정을 줄 앞부분으로 옮겨 스캔을 52.9초에서 9.0초로 줄였습니다(#2909). codex가 읽은 이미지 라벨과 재개 세션의 부모 rollout을 잡고(IG6-c·IG8, #2871), 크게 보기에서 ←→로 넘기게 하고(#2886), 닫으면 썸네일이 사라지던 것·호버 잔상·격자 폭·「없다」 오인을 고치며 라벨 필터와 시각을 붙였습니다(#2905). 대화 중에 붙인 이미지가 안 나타나던 것도 잡았습니다(#2919). 원격 상태 축은 전날 커밋된 RA6 역조회 #2861을 병합하고, codex도 원격에 훅을 깔게 했으며(#2872), 원격 maru를 못 찾아 축이 안 열리던 것을 PATH로 고쳤습니다(#2918).

session-host는 bounded kernel cwd sampler(#2867)와 제품 parity 게이트를 넣고, quiesce 전 upgrade 예산 admission, 낡은 upgrade 잔재 정리, upgrade 결과 알림(#2901)을 붙였습니다. 제품 rollback 활성화와 비어 있지 않은 rollback, 서명된 upgrade 종료 수명주기, GUI upgrade 재부착, near-max restore 수명주기를 증명하고, upgrade·컴포넌트 실패 매트릭스, reserved handoff 실패 주입, 정리 실패 fail-stop, kernel cleanup fault, 실제 disk-full admission까지 게이트로 걸었습니다. host가 진단을 남기려다 죽어 로그가 늘 0바이트였던 것(#2925)과 host의 정상 거절이 앱 abort로 승격되던 것(#2880)도 찾아 고쳤고, 테스트가 실제 사용자 root를 건드리지 못하게 막았습니다(#2936).

Windows는 전날 열린 검색 줄 조합 글자 표시 #2855와 dock_scroll 판정 복구 #2858을 병합하고, 도크 트리와 목록 표면이 자기 사각형 밖으로 그리던 것을 잘랐으며(#2877, #2903), 이름이 face를 못 정해 굵은 제목이 밀리던 것을 고쳤습니다(#2883). 에이전트 목록이 굴러가게 했고(W8.22, #2912), 폭 0짜리 테두리 때문에 스크롤바가 안 보이던 것을 고치는 #2921은 이날 열렸습니다. 도크 스크롤바는 paint 시점에 alpha를 얹어 흐려지게 했고(#2913), 터미널 스크롤바가 스크롤하면 사라지던 것(#2897)과 소스 컨트롤·사이드바 검색 목록의 Page/Home/End(#2868, #2879)도 이날입니다.

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

커밋

ohah/maru

ohah/pdf

PR (해당일 생성/머지)

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

저장소PR해당일 활동상태대상 브랜치제목
ohah/maru#2939생성 · 병합mergedmaintest(image-gallery): bound open refresh wait
ohah/maru#2938생성mergedmainfix(session-host): isolate test workspace state
ohah/maru#2937생성 · 병합mergedmainfeat(session-host): bind release workflow run
ohah/maru#2936생성 · 병합mergedmainfix(session-host): protect live roots from tests
ohah/maru#2935생성mergedmainfix(file-panel): 트리 라벨이 스크롤 뷰포트 밖으로 샜다 — 그리고 Lab 이 찌그러진 그림을 굳히고 있었다
ohah/maru#2934생성mergedmainfeat(editor): 파일 안 심볼을 필터해 그 자리로 간다 — 심볼 검색 오버레이 (§7.5)
ohah/maru#2933생성mergedmainfix(agent-hooks): 신원이 안 온 tmux pane 도 적는다 — RA6 이 오염의 절반만 봤다
ohah/maru#2932생성mergedmainfix(config): 고스티 프리셋에서 선택해도 티가 안 났다 — 배경 대비 1.40
ohah/maru#2931생성 · 병합mergedmainfix(session-host): isolate product test children
ohah/maru#2930생성mergedmainfeat(file-explorer): 탐색기 root 가 활성 pane 터미널 cwd 를 그대로 따라간다
ohah/maru#2929생성 · 병합mergedmaintest(session-host): prove actual disk-full admission
ohah/maru#2928생성 · 병합mergedmaintest(session-host): prove kernel cleanup faults
ohah/maru#2927생성mergedmaintest(session-host): P4 E2c 는 가라앉음이 검증된 뒤부터 센다
ohah/maru#2926생성 · 병합mergedmaintest(session-host): prove daemon cleanup fail-stop
ohah/maru#2925생성 · 병합mergedmainfix(session-host): host 가 진단을 남기려다 죽었다 — 그래서 host 로그가 늘 0 바이트였다
ohah/maru#2924생성 · 병합mergedmaintest(scrollarea): SCM 도크 fade 에도 draw alpha 판정자를 세운다
ohah/maru#2923생성 · 병합mergedmaintest(session-host): drive coordinator cleanup fail-stop
ohah/maru#2922생성 · 병합mergedmainfeat(editor): 커서 모양을 고를 수 있다 — bar·block·underline
ohah/maru#2921생성mergedmainfix(windows): 스크롤바가 안 보였다 — 폭 0 짜리 테두리 때문에 quad 를 통째로 버렸다
ohah/maru#2920생성 · 병합mergedmaintest(session-host): prove reservation cleanup failure
ohah/maru#2919생성 · 병합mergedmainfix(image-gallery): 대화 중에 붙인 이미지가 갤러리에 안 나타나던 것 (IG2-a·b)
ohah/maru#2918생성 · 병합mergedmainfix(agent-hooks): 원격 maru 를 못 찾아 축이 안 열렸다 — PATH 를 앞에 붙인다
ohah/maru#2917생성 · 병합mergedmaintest(session-host): inject reserved handoff failures
ohah/maru#2916생성 · 병합mergedmainfix(editor): 이어 치는 한글에서 조합 글자가 확정 글자 앞에 섰다
ohah/maru#2915생성 · 병합mergedmainfeat(editor): 정의·심볼·검색이 한 경로로 이동한다 — (URI?, range) 수렴과 되돌아가기 (§5.2)
ohah/maru#2914생성 · 병합mergedmaintest(session-host): run component failure matrix
ohah/maru#2913생성 · 병합mergedmainfeat(scroll-area): 도크 스크롤바도 흐려진다 — alpha 는 tree 가 아니라 paint 시점에 얹는다
ohah/maru#2912생성 · 병합mergedmainfeat(windows): 에이전트 목록이 굴러간다 — 그리고 굴리자 헤더를 뚫고 나온 것을 막는다 (W8.22)
ohah/maru#2911생성 · 병합mergedmaintest(session-host): run upgrade failure matrix
ohah/maru#2910생성 · 병합mergedmainfix(editor): 접힘 승격이 보이는 줄 표를 안 만들어 커서와 입력 위치가 갈렸다 (§4.1f)
ohah/maru#2909생성 · 병합mergedmainperf(image-gallery): 스캔 52.9초 → 9.0초 (5.9배) — O(N²) 복사 제거 + compacted 판정 O(1)화
ohah/maru#2908생성 · 병합mergedmaindocs(scroll-area): fade 는 「전부 흐려지게」로 정하고, 한 번 만들었다 되돌린 근거를 남긴다
ohah/maru#2907생성 · 병합mergedmaintest(session-host): prove near-max restore lifecycle
ohah/maru#2906생성 · 병합mergedmaintest(session-host): prove GUI upgrade reattach
ohah/maru#2905생성 · 병합mergedmainfix(image-gallery): 호버 잔상·격자 폭·「없다」 오인 + feat: 라벨 필터와 시각
ohah/maru#2904생성 · 병합mergedmaintest(session-host): prove signed upgrade exit lifecycle
ohah/maru#2903생성 · 병합mergedmainfix(windows): 목록 표면 둘도 자기 사각형 밖으로 그리고 있었다 (W8.21e 잔여)
ohah/maru#2902생성 · 병합mergedmaintest(editor): 보내기 메뉴를 제품 렌더러로 캡처해 골든에 건다
ohah/maru#2901생성 · 병합mergedmainfeat(session-host): surface upgrade result notice
ohah/maru#2900생성 · 병합mergedmainfeat(editor): 커서가 어느 함수 안에 있는지 헤더 밴드가 답한다 — breadcrumb 심볼 체인 (§7.5)
ohah/maru#2899생성 · 병합mergedmainfix(editor): 보내기 대상 줄과 id 를 같은 걸음으로 + 라벨을 폴더·브랜치로 (NS6)
ohah/maru#2898생성 · 병합mergedmaintest(session-host): prove non-empty product rollback
ohah/maru#2897생성 · 병합mergedmainfix(terminal): 스크롤하면 스크롤바가 사라졌다 — 합성 갈래가 스크롤바 근거를 안 실었다
ohah/maru#2896생성 · 병합mergedmaintest(session-host): prove product rollback activation
ohah/maru#2895생성 · 병합mergedmainfeat(editor): 고른 부분을 에이전트에 보낸다 (NS5)
ohah/maru#2894생성 · 병합mergedmainfix(session-host): poisonConnection 의 두 갈래가 같은 proof_loss 로 찍혀 로그로 안 갈렸다
ohah/maru#2893생성closedmainfix(perf): output wake tail 을 «최댓값» 이 아니라 «두 번째» 에 건다 — 러너를 재고 있었다
ohah/maru#2892생성 · 병합mergedmainfix(scm-dock): 클릭이 키보드 소유권을 주지 못해 Page/Home/End 가 통째로 죽어 있었다
ohah/maru#2891생성 · 병합mergedmainfix(image-gallery): 크게 보기를 닫으면 썸네일이 사라지던 것 + 호버 표시
ohah/maru#2890생성 · 병합mergedmainfeat(session-host): sweep stale upgrade residues
ohah/maru#2889생성 · 병합mergedmainfeat(editor): 편집기 본문 우클릭을 편집기가 가져온다 (NS4)
ohah/maru#2888생성 · 병합mergedmainfeat(editor): 편집기가 문서 안에 무엇이 있는지 답한다 — 심볼 목록 층 (§7.5)
ohah/maru#2887생성 · 병합mergedmaindocs(key-input): 목록 스크롤 키의 주인을 표로 박고, notice 비대칭을 「고치지 않는다」로 적는다
ohah/maru#2886생성 · 병합mergedmainfeat(image-gallery): 크게 보기에서 ←→ 로 넘긴다 (IG9)
ohah/maru#2885생성 · 병합mergedmaindocs(plans): 원격 축 계획의 두 줄이 코드와 어긋나 있었다 — 마감
ohah/maru#2884생성 · 병합mergedmainfeat(session-host): admit upgrade budgets before quiesce
ohah/maru#2883생성 · 병합mergedmainfix(windows): 이름이 face 를 못 정하고 있었다 — 굵은 제목이 한 칸씩 밀렸다 (W8.21g)
ohah/maru#2882생성 · 병합mergedmainfix(ssh): 깨우기 꼬리를 p95 로 잰다 — 표본 7개의 max 는 러너 딸꾹질을 쟀다
ohah/maru#2881생성 · 병합mergedmainfeat(editor): 선택 보내기 NS3 — 후보 순서와 경로 접기를 값으로 만든다
ohah/maru#2880생성 · 병합mergedmainfix(session-host): host 의 정상 거절이 앱 abort 로 승격됐다 — config.update 디코더만 error envelope 을 몰랐다
ohah/maru#2879생성 · 병합mergedmainfeat(sidebar): 검색이 열린 동안 카드 목록도 Page/Home/End 로 굴린다 (ScrollArea §4.5)
ohah/maru#2878생성 · 병합mergedmaintest(session-host): add kernel cwd product parity gate
ohah/maru#2877생성 · 병합mergedmainfix(windows): 도크 트리가 자기 사각형 밖으로 그리던 것을 자른다 (W8.21e)
ohah/maru#2876생성 · 병합mergedmainfix(editor): 판정자가 파싱을 굳힌 뒤 잰다 — CI 에서만 빨갛던 ES7 (§2.1a)
ohah/maru#2875생성 · 병합mergedmaindocs(image-gallery): 취소된 IG6 누적 결정을 계획에 기록
ohah/maru#2874생성 · 병합mergedmainfeat(settings): 구문 색을 설정 화면에서 고른다 — 역할 행 열하나 (N4 §9.0)
ohah/maru#2873생성 · 병합mergedmaindocs(editor): 선택 영역 보내기 — 네이티브 편집기를 1차로 두고 슬라이스를 쪼갠다
ohah/maru#2872생성 · 병합mergedmainfeat(agent-hooks): codex 도 원격에 깐다 — 「사용자가 눌러야 한다」가 틀린 전제였다
ohah/maru#2871생성 · 병합mergedmainfix(image-gallery): codex 가 읽은 이미지 라벨 + 재개 세션의 부모 rollout (IG6-c·IG8)
ohah/maru#2870생성 · 병합mergedmainfix(session-host): 예정된 업그레이드 전환을 error 로 찍지 않는다 — 진단을 방해했다
ohah/maru#2869생성 · 병합mergedmaindocs(editor): 접힘 종류 목록을 열여덟 언어에서 실측했다 (§4.1f)
ohah/maru#2868생성 · 병합mergedmainfeat(scm-dock): 소스 컨트롤 목록도 Page/Home/End 로 굴린다 (ScrollArea §4.5)
ohah/maru#2867생성 · 병합mergedmainfeat(session-host): add bounded kernel cwd sampler
ohah/maru#2861병합mergedmainfeat(agent-hooks): tmux 오배달을 역조회로 되찾는다 (RA6) — 계획 완주
ohah/maru#2859병합mergedmaindocs(control-plane): 적대적 검증 — 낡은 실측 서술 여섯과 등재 안 된 슬라이스
ohah/maru#2858병합mergedmainfix(windows): 접혀 있던 dock_scroll 판정을 되살리고, 속 빈 판정 넷을 고친다
ohah/maru#2855병합mergedmainfeat(windows): 조합 중인 글자가 검색 줄에 뜬다 — 그리고 포커스를 따라간다