2026-08-25

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

요약 (AI 작성)

maru의 네이티브 편집기가 실제로 편집을 하게 된 날입니다. caret·타이핑·undo·저장이 들어오고, 다음 일치를 찾아 커서를 하나 더 놓는 다중 커서까지 붙었습니다(#2670). 확정 텍스트가 조합을 시작한 곳으로 가도록 IME 고정을 편집기도 지키게 했고, 저장이 사용자의 끝 개행 편집을 되돌리던 것과 출하 빌드에서 사라지는 단언에 기대던 전제를 진짜 검사로 바꿨습니다. 같은 날 Windows는 앱 모양을 갖췄습니다. 사이드바 카드와 헤더 아이콘이 눌리고(#2657), +가 세션을 만들고 카드가 전환하며(#2659), 도크와 사이드바가 창 단위로 굴러가고(#2665, #2667), 트리 폴더가 펼쳐지고, 에이전트 세션 도크에 진짜 세션 목록이 뜨면서 크롬 한글이 두부로 나오던 font id 충돌을 고쳤습니다(#2688). 헤더 아이콘 줄은 창 버튼과 같은 띠에 놓았고(#2699), 하단 상태표시줄을 세우는 W8.9 #2705는 이날 PR이 열렸습니다.

에이전트 쪽은 전날 열린 AT2 #2649로 턴 제목을 링에 싣고, 턴이 만진 파일을 직접 캡처해 ✎가 내 것과 남의 것을 가르게 했으며(AT3, #2677), 펼친 턴의 파일마다 누가 바꿨는지 말하고(#2686) 턴의 셸 명령 수를 고지했습니다(AT4, #2692). codex 훅이 낡은 신뢰 값 때문에 하나도 돌지 않던 것을 알리고 고쳤으며(#2669, #2676), 방금 승인한 사람에게 「승인하라」고 말하던 것도 고쳤습니다(#2687). codex 오류 턴은 세트를 늘려도 못 닫는다는 실측을 박았습니다. 「턴이 끝나는 그 순간」을 지키지 않아 사본·세션·셸 수가 어긋나던 문제를 고치는 #2707은 이날 열렸습니다.

session-host는 checkpoint coordinator(#2655)와 atomic checkpoint file adapter를 넣고, 배치가 바뀌면 checkpoint가 그것을 알게 했으며(#2693), background workspace checkpoint와 최종 checkpoint 전 종료 게이트를 걸었습니다(#2702). runtime observation cache를 세워 공유하고 변하지 않은 소스는 건너뛰게 했고, CLI가 앱이 띄운 host를 못 찾던 것(S11-0), runtime list의 window title(S11-1), attach의 --stream(S11-2, #2696)이 이어졌습니다. host를 못 띄웠는데 4초를 기다리던 자리도 닫았습니다(#2689). maru ssh는 끊김을 45초 안에 알고 스스로 다시 붙게 했습니다(#2674). incremental checkpoint 구동 계약 문서 #2697은 이날 열렸습니다.

접근성은 서술자 계약을 생산자까지 먼저 열었고(#2701), 스냅숏·ABI v172·Swift 어댑터로 host에 잇는 #2703은 이날 열렸습니다. 도크는 SCM·AI 세션에도 이름과 제목이 마지막까지 남는 좁은 폭 열화 규칙을 적용했고(#2662), Lab은 pane 합성 축을 열어 도크가 상태바를 덮지 않는지 골든이 보게 했으며(#2671), 픽스처가 /tmp에 남긴 2만 개를 거뒀습니다(#2661). 모바일은 긴 안내가 잘리는 대신 접히고(#2681), 글자 폭을 한 함수로 모았습니다.

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

커밋

ohah/maru

PR (해당일 생성/머지)

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

저장소PR해당일 활동상태대상 브랜치제목
ohah/maru#2713생성mergedmainfix(session-host): 선택 자동스크롤 범위를 host에 보존
ohah/maru#2712생성 · 병합mergedmainfix(session-host): select full host scrollback
ohah/maru#2711생성 · 병합mergedmainfix(session-host): forward word separators to host
ohah/maru#2710생성 · 병합mergedmainfix(session-host): route clear through authoritative reader
ohah/maru#2709생성 · 병합mergedmaintest(session-host): gate observation cache artifact
ohah/maru#2708생성 · 병합mergedmainperf(session-host): skip unchanged observation sources
ohah/maru#2707생성mergedmainfix(agent): 「턴이 끝나는 그 순간」을 지키지 않아 사본·세션·셸 수가 어긋났다
ohah/maru#2706생성 · 병합mergedmainfeat(session-host): share runtime observation cache
ohah/maru#2705생성mergedmainfeat(windows): 하단 상태표시줄이 선다 (W8.9)
ohah/maru#2704생성 · 병합mergedmainfeat(session-host): add runtime observation cache core
ohah/maru#2703생성mergedmainfeat(platform): 접근성 서술자를 host 로 연다 — 스냅숏·ABI v172·Swift 어댑터
ohah/maru#2702생성 · 병합mergedmainfeat(session-host): gate quit on final checkpoint
ohah/maru#2701생성 · 병합mergedmainfeat(chrome): 접근성 서술자 계약을 연다 — 생산자까지, 읽는 쪽은 아직 없다
ohah/maru#2700생성 · 병합mergedmaindocs(windows): 하단 상태표시줄이 계획에 없다 — 세 번째 공백
ohah/maru#2699생성 · 병합mergedmainfeat(windows): 헤더 아이콘 줄을 창 버튼과 같은 띠에 놓는다
ohah/maru#2698생성 · 병합mergedmainfeat(session-host): wire background workspace checkpoints
ohah/maru#2697생성mergedmaindocs(session-host): incremental checkpoint 구동 계약을 먼저 적는다
ohah/maru#2696생성 · 병합mergedmainfeat(session-host): attach 가 화면 wire 를 그대로 흘린다 — --stream (S11-2)
ohah/maru#2695생성 · 병합mergedmaindocs(windows): 크롬 테마 부채를 다시 쟀다 — 계획 행이 낡아 있었다
ohah/maru#2694생성 · 병합mergedmaindocs: 중립 백엔드 이동은 "순수 이동" 이 아니다 — 실제로 해 보고 적는다
ohah/maru#2693생성 · 병합mergedmainfeat(session-host): 배치가 바뀌면 checkpoint 가 그것을 안다 (P4 C3-1)
ohah/maru#2692생성 · 병합mergedmainfeat(agent): 턴의 셸 명령 수를 고지한다 (AT4 §5) — · 가 왜 붙었는지 말한다
ohah/maru#2691생성 · 병합mergedmaindocs: 어제 머지분이 안 닿은 문서 두 곳을 맞춘다
ohah/maru#2690생성 · 병합mergedmaintest(chrome): 글자 뷰포트를 잊을 수 없게 만든다 — 판정자 둘
ohah/maru#2689생성 · 병합mergedmainfix(session-host): host 를 못 띄웠는데 4 초를 기다리고 있었다
ohah/maru#2688생성 · 병합mergedmainfeat(windows): 에이전트 도크에 진짜 세션 목록이 뜬다 (W8.5b⒝)
ohah/maru#2687생성 · 병합mergedmainfix(agent-hooks): 방금 승인한 사람에게 「승인하라」고 말하고 있었다
ohah/maru#2686생성 · 병합mergedmainfeat(agent): 펼친 턴의 파일마다 누가 바꿨는지 말한다 (AT3 §4.2) — 그리고 AT2 를 닫는다
ohah/maru#2685생성 · 병합mergedmaindocs: 참고 도구의 이름을 문서에서 뺀다 — 논거는 그대로 둔다
ohah/maru#2684생성 · 병합mergedmainfeat(session-host): runtime list 가 window title 을 낸다 (S11-1)
ohah/maru#2683생성 · 병합mergedmainrefactor(mobile): 글자 폭을 한 함수로 모으고 접기를 누적으로 바꾼다
ohah/maru#2682생성 · 병합mergedmainfeat(windows): 에이전트 세션 도크가 뜬다 — 셋째 칸이 빈 도크였다
ohah/maru#2681생성 · 병합mergedmainfeat(mobile): 긴 안내는 잘리는 대신 접힌다
ohah/maru#2680생성 · 병합mergedmainfeat(session-host): atomic checkpoint file adapter 추가
ohah/maru#2679생성 · 병합mergedmainfix(mobile): 영어 문구도 같은 말투로 맞춘다
ohah/maru#2678생성 · 병합mergedmainfeat(windows): 트리 폴더가 펼쳐진다 — 셰브런이 죽은 컨트롤이었다
ohah/maru#2677생성 · 병합mergedmainfeat(agent): 턴이 만진 파일을 직접 캡처한다 (AT3) — ✎ 가 내 것과 남의 것을 가른다
ohah/maru#2676생성 · 병합mergedmainfeat(agent-hooks): 낡은 codex 신뢰 값을 고친다 — 값 하나당 한 번만
ohah/maru#2675생성 · 병합mergedmaindocs(agent-hooks): codex 오류 턴을 실측으로 박는다 — 세트를 늘려도 못 닫는다
ohah/maru#2674생성 · 병합mergedmainfeat(ssh): maru ssh 가 끊김을 45초 안에 알고 스스로 다시 붙는다
ohah/maru#2673생성 · 병합mergedmainfix(chrome): 도크 목록의 글자가 아무 데서도 안 잘리고 있었다
ohah/maru#2672생성 · 병합mergedmainfix(chrome): 브랜치 이름이 오른쪽 묶음을 침범하고 뷰 바 아이콘이 아래로 쏠렸다
ohah/maru#2671생성 · 병합mergedmainfeat(lab): pane 합성 축을 연다 — 도크가 상태바를 덮지 않는지 골든이 본다
ohah/maru#2670생성 · 병합mergedmainfeat(editor): 편집기가 편집기가 됐다 — caret·타이핑·undo·저장 (§3.2·§3.3·§3.5)
ohah/maru#2669생성 · 병합mergedmainfix(agent-hooks): codex 훅이 하나도 안 돌고 있었다 — 낡은 신뢰 값을 알린다
ohah/maru#2668생성 · 병합mergedmainfeat(session-dock): 카드 여백·간격을 한 단 줄인다 — 배치는 그대로, 밀도만(리뷰용)
ohah/maru#2667생성 · 병합mergedmainfeat(windows): 사이드바도 굴러간다 — 앞부분이 아니라 창이다
ohah/maru#2666생성closedmainfeat(session-dock): 카드를 두 줄로 — 제목 줄 오른쪽에 메타를 놓아 밀도를 올린다
ohah/maru#2665생성 · 병합mergedmainfeat(windows): 도크가 굴러간다
ohah/maru#2664생성 · 병합mergedmainfix(session-host): CLI 가 앱이 띄운 host 를 못 찾던 것 (S11-0)
ohah/maru#2663생성 · 병합mergedmainrefactor(agent): 도달할 수 없는 턴 비교 가지를 걷어낸다
ohah/maru#2662생성 · 병합mergedmainfeat(dock): SCM·AI 세션에도 같은 사다리 — 이름과 제목은 마지막까지 남는다
ohah/maru#2661생성 · 병합mergedmainfix(test): 픽스처가 /tmp 에 남기던 자리를 거둔다 — 2 만 개가 쌓여 있었다
ohah/maru#2660생성 · 병합mergedmainfeat(file-tree): 좁은 폭의 열화 규칙 — 이름은 마지막까지 남는다
ohah/maru#2659생성 · 병합mergedmainfeat(windows): 세션이 여럿이다 — + 가 만들고 카드가 전환한다
ohah/maru#2658생성 · 병합mergedmainfix(file-tree): 열린 파일의 밴드를 없앤다 — 그 색이 곧 호버 색이라 포인터 자리를 거짓으로 말했다
ohah/maru#2657생성 · 병합mergedmainfeat(windows): 사이드바 카드와 헤더 아이콘이 눌린다
ohah/maru#2656생성 · 병합mergedmaintest(windows): 판정 다섯이 속 비었다 — 적대적 검증 3 회
ohah/maru#2655생성 · 병합mergedmainfeat(session-host): checkpoint coordinator 추가
ohah/maru#2654병합mergedmainfeat(windows): 헤더 아이콘을 1.7× 로 굽는다 — 헤더가 세 줄이 된다
ohah/maru#2653병합mergedmainfix(scm): 이름을 자기 예약만큼으로 잘라 꼬리와 겹치지 않게 한다 — 이모지 이름이 붙었다
ohah/maru#2649병합mergedmainfeat(session): 턴 제목을 링에 싣는다 (AT2) — 그리고 미래를 현재형으로 적던 문서 다섯
ohah/maru#2647병합mergedmainfix(mobile): 화면 문구를 데스크톱과 같은 말투로