2026-08-29

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

요약 (AI 작성)

maru에 원격 에이전트 상태 축과 이미지 갤러리, 두 축이 열린 날입니다. 원격 상태 축은 훅 세트에 로컬/원격 스코프를 열고(RA1), maru ssh가 원격 pane 신원을 LC_MARU_PANE으로 보내며(RA2), 원격 훅 커맨드와 maru agent-events 스트리머를 만드는 토대(RA1부터 RA5, #2828)를 놓았습니다. 이어 원격 이벤트를 tick 루프에 붙여 배지가 ssh 너머에서 서게 했고(#2836), 원격 훅을 먼저 깔고 스트리머를 띄우며 로그 회전과 tmux 좌표를 남겼습니다(#2847). tmux 오배달을 역조회로 되찾는 RA6 작업도 이날 커밋됐고, 그 PR #2861의 병합은 다음 날입니다. 원격 SSH 알림은 훅 모드가 서지 않아 OSC가 담당한다는 점도 문서로 남겼습니다(#2823).

에이전트 이미지 갤러리는 계약과 계획을 세우고 뼈대와 인덱스(IG0·IG1, #2850), 격자(#2862), 크게 보기와 팬·줌(#2852), 중복 접기와 「무엇이었는지」 라벨(#2853)까지 하루에 섰습니다. 제품 스캔 실측 3.6초를 보고 동기 스캔을 기각해 스캔과 디코드를 워커로 옮겼고, 실제 세션이 드러낸 문제를 따라 최신 우선·스크롤·2:1 타일로 고쳤습니다(#2863). 기능 브랜치를 대상으로 열었던 #2851은 닫혔습니다.

편집기는 전날 열린 #2803으로 코드에 색을 입히기 시작했고, 구문 색을 theme.syntax 역할별로 정하게 했으며(#2811), 구문 파싱이 워커가 아니라 끊고 재개하는 방식으로 프레임 예산을 지키게 했습니다(§2.1a, #2824). 메이저 언어 열일곱을 더 칠해 grammar 18개가 됐고(#2840), 접힘이 구문 층으로 승격돼 언어별 종류 목록을 갖게 됐습니다(#2854). session-host는 자동 재접속을 bound jobs, worker issuer와 runtime, candidate adopt, admission coordinator와 settle을 거쳐 앱 전역으로 배선했고(#2864), cwd authority wire 토대를 놓았습니다(#2866). 읽을 주체가 없는 fd를 감시해 메인 스레드가 쉬지 않던 문제(#2831)와 복사가 자기 출력에 삼켜지던 문제도 고쳤습니다.

Windows는 전날 열린 실행 중 확인 모달 #2805를 병합하고, 창보다 긴 줄에 가로 스크롤과 막대를 붙였으며(W8.17c, #2812), 활성 카드가 화면 밖이면 사이드바가 따라가고 목록이 줄면 도크도 자기 범위로 돌아오게 했습니다(#2817, #2822). macOS 앱이 조용히 죽으면 흔적을 남기게 했고(#2818), 문서가 코드를 짚은 좌표를 게이트가 지키게 했습니다(#2814). 전날 열린 영속성 상태바 고지 #2798과 P4 게이트 현황 문서 #2802도 병합됐고, 모바일은 목록 줄을 눌러 그 세션 화면을 보게 했습니다(S11-6, #2832).

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

커밋

ohah/maru

PR (해당일 생성/머지)

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

저장소PR해당일 활동상태대상 브랜치제목
ohah/maru#2866생성 · 병합mergedmainfeat(session-host): add cwd authority wire foundation
ohah/maru#2865생성 · 병합mergedmaindocs(session-host): reconcile completed P5 and E3b status
ohah/maru#2864생성 · 병합mergedmainfeat(session-host): wire app-global automatic reconnect
ohah/maru#2863생성 · 병합mergedmainfix(image-gallery): 최신 우선·스크롤·2:1 타일 — 실제 세션이 드러낸 것 (IG7)
ohah/maru#2862생성 · 병합mergedmainfeat(image-gallery): 격자에 이미지가 뜬다 (IG3)
ohah/maru#2861생성mergedmainfeat(agent-hooks): tmux 오배달을 역조회로 되찾는다 (RA6) — 계획 완주
ohah/maru#2860생성 · 병합mergedmainfeat(session-host): settle reconnect admission outcomes
ohah/maru#2859생성mergedmaindocs(control-plane): 적대적 검증 — 낡은 실측 서술 여섯과 등재 안 된 슬라이스
ohah/maru#2858생성mergedmainfix(windows): 접혀 있던 dock_scroll 판정을 되살리고, 속 빈 판정 넷을 고친다
ohah/maru#2857생성 · 병합mergedmaindiag(session-host): 조용히 죽는 두 자리에 흔적을 남긴다
ohah/maru#2856생성 · 병합mergedmainfeat(session-host): add reconnect admission coordinator
ohah/maru#2855생성mergedmainfeat(windows): 조합 중인 글자가 검색 줄에 뜬다 — 그리고 포커스를 따라간다
ohah/maru#2854생성 · 병합mergedmainfeat(editor): 접힘이 구문 층으로 승격된다 — 언어별 종류 목록 (N4 §4)
ohah/maru#2853생성 · 병합mergedmainfeat(image-gallery): 중복을 접고 「무엇이었는지」를 붙인다 (IG5 + §4.3)
ohah/maru#2852생성 · 병합mergedmainfeat(image-gallery): 크게 보기와 팬·줌 (IG4)
ohah/maru#2851생성closed기능 브랜치: feat/image-gallery-1-indexfeat(image-gallery): 격자에 이미지가 뜬다 (IG3)
ohah/maru#2850생성 · 병합mergedmainfeat(image-gallery): 에이전트 이미지 갤러리 — 뼈대와 인덱스 (IG0~IG1)
ohah/maru#2849생성 · 병합mergedmaindocs(plans): 전수 훑기가 남긴 낡은 헤딩 둘을 마저 고친다
ohah/maru#2848생성 · 병합mergedmaindocs(plans): 계획 문서의 낡은 상태 여섯을 코드에 맞춘다
ohah/maru#2847생성 · 병합mergedmainfeat(agent-hooks): 원격 훅 설치·회전·tmux 좌표 (RA3 + RA6 선결)
ohah/maru#2846생성 · 병합mergedmainfix(session-host): 복사가 자기 출력에 삼켜졌다 — 기준선은 한 번만 잡는다
ohah/maru#2845생성 · 병합mergedmainfix(mobile): 원격 화면이 창을 통째로 덮는다
ohah/maru#2844생성 · 병합mergedmainfix(ssh): 쌓인 죽은 host 줄이 attach 를 막지 않는다 — 그리고 못 붙으면 말한다
ohah/maru#2843생성 · 병합mergedmainfix(control-plane): 앵커를 안 댄 연결은 세션 목록을 본다
ohah/maru#2842생성 · 병합mergedmaindocs(status-bar): 「첫 Term 은 항상 in-process」 는 틀렸다 — 재실측으로 정정
ohah/maru#2841생성 · 병합mergedmainfeat(session-host): add reconnect worker runtime
ohah/maru#2840생성 · 병합mergedmainfeat(editor): 메이저 언어 열일곱을 더 칠한다 — grammar 18개 (N4 §5.3)
ohah/maru#2839생성 · 병합mergedmaindocs(windows): 문서가 코드와 어긋난 자리 여섯 — §3.4 표지 둘 + 적대적 검증 넷
ohah/maru#2838생성 · 병합mergedmainfeat(session-host): adopt automatic reconnect candidates
ohah/maru#2837생성 · 병합mergedmaindocs(windows): 문서 감사 — 낡은 칸 둘, 없던 행 둘, 중복 절 하나
ohah/maru#2836생성 · 병합mergedmainfeat(agent-hooks): 원격 이벤트를 tick 루프에 붙인다 — 배지가 ssh 너머에서 선다 (RA5)
ohah/maru#2835생성 · 병합mergedmaintest(session-host): 감시 집합이 pump 집합을 벗어나면 잡는다
ohah/maru#2834생성 · 병합mergedmaindocs(windows): §2m.86 정정 — 제목 글리프 밀림은 "번들 폰트 없음" 에서만 난다
ohah/maru#2833생성 · 병합mergedmainfeat(session-host): add automatic reconnect worker issuer
ohah/maru#2832생성 · 병합mergedmainfeat(mobile): 목록 줄을 눌러 그 세션 화면을 본다 (S11-6)
ohah/maru#2831생성 · 병합mergedmainfix(session-host): 읽을 주체가 없는 fd 를 감시해 메인 스레드가 쉬지 않았다
ohah/maru#2830생성 · 병합mergedmainfeat(session-host): bound automatic reconnect jobs
ohah/maru#2829생성 · 병합mergedmainfeat(windows): 에이전트 목록이 훑는 중이라고 말한다
ohah/maru#2828생성 · 병합mergedmainfeat(remote-agent-state): RA1~RA5 — 원격 에이전트 상태 축의 토대
ohah/maru#2827생성 · 병합mergedmainfix(windows): 사이드바가 그리는 목록과 재는 목록을 갈라 놓고 있었다
ohah/maru#2826생성 · 병합mergedmaindocs(editor): 파싱 예산을 실제 파일로 재고 근거를 실측으로 바꾼다 (§2.1a)
ohah/maru#2825생성 · 병합mergedmainrefactor(session-host): consolidate screen inbox ownership
ohah/maru#2824생성 · 병합mergedmainfeat(editor): 구문 파싱이 프레임 예산을 지킨다 — 끊고 재개한다 (§2.1a)
ohah/maru#2823생성 · 병합mergedmaindocs(agent-hooks): 원격 SSH 에이전트 알림 — 훅 모드가 안 서서 OSC 가 산다
ohah/maru#2822생성 · 병합mergedmainfix(windows): 목록이 줄면 도크도 자기 범위로 돌아온다 (W8.18b)
ohah/maru#2821생성 · 병합mergedmaintest(session-host): verify reconnect SSH isolation
ohah/maru#2820생성 · 병합mergedmaindocs(editor): 구문 파싱은 끊고 재개한다 — 워커가 아니다 (§2.1a)
ohah/maru#2819생성 · 병합mergedmaintest(config): 팔레트도 문서와 로더가 같은 범위를 말하는지 잰다 (PAL1)
ohah/maru#2818생성 · 병합mergedmainfeat(macos-app): 앱이 조용히 죽으면 흔적을 남긴다 — 진단할 재료가 0이었다
ohah/maru#2817생성 · 병합mergedmainfeat(windows): 눈이 따라간다 — 활성 카드가 화면 밖이면 사이드바가 옮긴다 (W8.18a)
ohah/maru#2816생성 · 병합mergedmainfix(session-host): surface SSH upload failures
ohah/maru#2815생성 · 병합mergedmainfeat(control-plane): sessions.list 가 runtime_id 를 낸다
ohah/maru#2814생성 · 병합mergedmainfeat(docs): 문서가 코드를 짚은 좌표를 게이트가 지킨다
ohah/maru#2813생성 · 병합mergedmainfeat(session-host): SSH action freshness를 비동기로 전환한다
ohah/maru#2812생성 · 병합mergedmainfeat(windows): 창보다 긴 줄에 축이 생겼다 — 가로 스크롤과 막대 (W8.17c)
ohah/maru#2811생성 · 병합mergedmainfeat(config): 구문 색을 역할별로 정한다 — theme.syntax.<역할> (N4 §9.0)
ohah/maru#2810생성 · 병합mergedmaindocs: 코드 좌표가 가리키는 자리를 실제 위치로 되돌린다
ohah/maru#2809생성 · 병합mergedmaindocs(agent-session): 중단된 턴이 «진행 중» 으로 남는 이유를 실측과 함께 남긴다
ohah/maru#2808생성 · 병합mergedmaindocs(session-host): keep default-on migration in backlog
ohah/maru#2805병합mergedmainfeat(windows): 실행 중이면 확인 모달을 띄운다 — W8.16 의 나머지
ohah/maru#2803병합mergedmainfeat(editor): 편집기가 코드에 색을 입힌다 — 제품 배선과 캡처 (N4 §5.3)
ohah/maru#2802병합mergedmaindocs(session-host): P4 게이트 현황을 코드·실측으로 다시 적는다
ohah/maru#2798병합mergedmainfeat(status-bar): 영속성이 깨진 동안 그 사실을 화면에 남긴다