2026-08-01

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

요약 (AI 작성)

maru는 영속 세션이 사라지는 문제를 집중적으로 팠습니다. 세션이 유실되는 세 경로를 고치고 원인을 관측 가능하게 만들었고(#1757), host 연결 실패 사유를 notice와 로그에 남기도록 했습니다(#1752). 앱 업데이트 때 살아 있는 host를 exec으로 이어받게 했으며(#1753), 재연결 성공을 업그레이드 성공으로 간주해 모든 터미널이 in-process로 떨어지던 문제는 업그레이드된 host만 채택하도록 고쳤습니다(#1754). 재연결 예산도 host pause budget 위로 올렸고, 2b2e recovery transaction을 actual token에 결속하는 #1749도 병합됐습니다. split이나 창 크기 조정 뒤 글자가 옆 pane에 겹쳐 그려지던 문제는 pane 표시 grid가 runtime 실패와 무관하게 레이아웃을 따르게 해 고치고(#1759) 그 계약을 문서에 명문화했습니다. 남의 stream revoke가 화면 resync를 막는 경로는 테스트로 고정했고, 하루 끝에는 죽은 host의 잔여 registry entry가 살아 있는 host를 밀어내던 문제를 고쳤습니다(#1762). observer로 강등된 터미널의 입력 불가 알림 #1761과 typed control semantics 소비 #1751은 이날 PR이 열렸고, 끊긴 host 연결을 되살리는 #1760은 병합 없이 닫혔습니다.

소스 컨트롤 뷰에는 턴 경계(running → idle) 스냅샷을 기준으로 "에이전트가 방금 바꾼 것"을 보여 주는 다섯 번째 섹션이 들어왔고(#1750), 커밋이 하나도 없는 저장소에서도 스냅샷을 찍도록 고쳤습니다. 섹션마다 표시 상한과 "모두 보기"를 넣고 파일 크기 상한을 실측으로 올렸습니다(#1747). 에디터 쪽은 E1을 종료 근거와 함께 닫고 턴 diff를 앞당겼으며, 저장소 루트 밖 접근을 세 겹으로 막고 브리지 왕복 비용을 재며 닫기 경로를 검증했습니다(#1748). 전날 열린 #1742도 이날 병합돼 web:typecheck가 소스·스크립트·테스트 전체를 검사하게 됐고, 그 과정에서 드러난 오류 51건을 고쳤습니다.

파일 패널은 문서 영역 우클릭 메뉴를 붙이고(#1755) 그 편집 동작이 실제 문서에 적용되도록 고쳤으며, 앱 Edit 메뉴에 빠져 있던 Cut도 추가했습니다. CI의 segfault로 드러난 메뉴 인자 문자열의 수명은 계약으로 못 박았고, 리치 편집기 chrome은 React 루트 하나로 모았습니다(#1756). frontmatter가 있으면 리치 편집을 막던 제한을 풀고(#1758) 읽기 모드에서는 frontmatter를 메타데이터 표로 보여 주게 했으며, 문서에 직접 쓴 HTML을 읽기 모드에서 그리는 #1764는 이날 열렸습니다. zntc는 JS API가 엔진 이름 target을 조용히 무시하던 문제(#4609), jsx preserve에서 실체화된 namespace 변수가 intrinsic 태그로 해석되던 문제(#4610), URL 상대 지정자가 형제 파일보다 tsconfig paths를 먼저 타던 #4604 문제(#4613)를 고쳤습니다.

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

커밋

ohah/maru

ohah/zntc

PR (해당일 생성/머지)

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

저장소PR해당일 활동상태대상 브랜치제목
ohah/maru#1764생성mergedmainfeat(file-panel): 읽기 모드가 문서에 직접 쓴 HTML을 그립니다
ohah/maru#1762생성 · 병합mergedmainfix(session-host): 죽은 host의 잔여 entry가 살아 있는 host를 밀어내지 않습니다
ohah/maru#1761생성mergedmainfix(session-host): observer로 강등된 터미널의 입력 불가를 알립니다
ohah/maru#1760생성closedmainfix(session-host): 끊긴 host 연결을 되살려 세션을 잃지 않게 합니다
ohah/maru#1759생성 · 병합mergedmainfix(app-session): pane 표시 grid가 runtime 실패와 무관하게 레이아웃을 따릅니다
ohah/maru#1758생성 · 병합mergedmainfeat(file-panel): frontmatter를 잠그지 않고 리치에서 편집합니다
ohah/maru#1757생성 · 병합mergedmainfix(session-host): 세션이 사라지는 세 경로를 고치고 원인을 관측 가능하게 만듭니다
ohah/maru#1756생성 · 병합mergedmainrefactor(file-panel): 리치 편집기 chrome을 React 루트 하나로 모읍니다
ohah/maru#1755생성 · 병합mergedmainfeat(file-panel): 문서 영역 우클릭 메뉴를 붙입니다
ohah/maru#1754생성 · 병합mergedmainfix(session-host): 업그레이드된 host만 채택하고 실패 사유를 남깁니다
ohah/maru#1753생성 · 병합mergedmainfeat(session-host): 앱 업데이트 때 살아 있는 host를 exec으로 이어받습니다
ohah/maru#1752생성 · 병합mergedmainfeat(session-host): host 연결 실패 사유를 notice와 로그에 남깁니다
ohah/maru#1751생성mergedmainfeat(session-host): consume typed control semantics
ohah/maru#1750생성 · 병합mergedmainfeat(scm): 에이전트가 방금 바꾼 것을 소스 컨트롤에 보여 줍니다
ohah/maru#1749생성 · 병합mergedmainfeat(session-host): 2b2e recovery transaction을 actual token에 결속합니다
ohah/maru#1748생성 · 병합mergedmaintest(editor): 브리지 왕복 비용을 재고 닫기 경로를 검증합니다
ohah/maru#1747생성 · 병합mergedmainfeat(scm): 섹션 표시 상한과 모두 보기, 파일 크기 상한 실측 조정
ohah/maru#1742병합mergedmainfix(web): 타입 검사를 전체로 넓히고 오류 51건을 고칩니다
ohah/zntc#4613생성 · 병합mergedmainfix(bundler): #4604 URL 상대 지정자가 형제 파일보다 tsconfig paths 를 먼저 타던 문제
ohah/zntc#4610생성 · 병합mergedmainfix(bundler): jsx preserve 에서 실체화된 namespace 변수가 intrinsic 태그로 해석되던 문제
ohah/zntc#4609생성 · 병합mergedmainfix(core): JS API 가 엔진 이름 target 을 조용히 무시하던 것 — CLI 와 동일 처리