2026-10-05

한국 시간(KST) 기준으로 하루를 나눴습니다. 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 조회: 2026-10-06 KST. 공개 저장소에서 조회한 활동만 포함합니다.

요약 (AI 작성)

maru는 config 파일이 바뀌면 자동으로 다시 읽는 behavior.auto-reload를 #4137로 병합했습니다(기본 켜짐). 이어서 Reload Config가 활성 창만이 아니라 모든 창에 적용되도록 했고(#4155), 변경마다 보고 로그를 한 번만 남기도록 했습니다(#4151). 전체 초기화도 모든 창에 같은 방식으로 적용되게 바로잡았습니다(#4158). 편집기에는 활성 문서의 도크 아웃라인 #4134이 새벽에 병합됐습니다. 정규식 검색은 줄 단위에서 문서 전체로 넓어져 여러 줄 검색과 캡처 치환이 가능해졌습니다(#4153). 평문 찾기에서는 반복 UTF-8 해독 비용을 줄였습니다(#4145). 프로젝트 검색 엔진 후보 실측 #4140은 병합됐고, 현재 문서 검색과 ripgrep 재비교 #4167는 이날 열려 다음 날 병합됐습니다.

같은 폴더에서 Codex를 두 pane으로 띄우면 사이드바의 상태와 제목이 뒤바뀌던 문제를 고쳤습니다(#4139). Codex 0.157 이상의 공유 데몬이 먼저 뜬 pane의 환경을 물려받아 생긴 문제라, 훅을 pane 이름이 아니라 세션 ID로 귀속하도록 바꿨습니다. 테스트가 띄운 제품 실행 파일이 개발자의 실제 HOME에 쓰고 정리까지 하던 문제는 공용 테스트 러너에서 HOME을 격리해 막았습니다(#4141). 그 밖에 재접속 작업의 종료 사유 기록(#4138), ReleaseFast에서만 나던 세션 호스트 테스트 fixture 결함(#4143), 청크 kitty 전송의 OOM 경로(#4150), alt 화면에서 창을 줄일 때의 kitty 이미지 처리(#4157), 새 활동이 붙어도 보던 항목을 유지하는 에이전트 활동 목록(#4156)을 수정했습니다.

Chromium 웹 패널은 팝업을 maru 탭으로 잇는 W6f② #4144, 뒤에 있는 창의 첫 클릭 전달 W6g #4152, 우클릭 메뉴 W6h①·W6h② #4159·#4166가 기능 브랜치 docs/web-panel-osr-backend에 병합됐습니다. main 반영이 아니며, main 통합 PR #3867은 여전히 열려 있습니다. 작업 공간 저장 헤더를 되돌리는 #4162는 미병합입니다.

zntc는 변환이 만드는 캡처·매개변수 임시 변수와 클래스·데코레이터 관련 심볼을 나중에 다시 훑어 찾지 않고, 생성 시점에 심볼로 직접 묶는 작업을 이어 갔습니다(#5059부터 #5105까지 PR 47개 모두 병합). async 함수·상태 기계·generator 캡처, 파생 생성자, Stage 3 데코레이터 메타데이터·초기화 함수, 익명 클래스 이름 등을 다뤘습니다. 이에 맞춰 생성 임시 변수 재탐색 경로를 제거했고(#5096·#5099), 번들러는 상수 치환 뒤에도 조건이 맞으면 의미 그래프를 유지합니다(#5101). helper 앞부분 뒤의 주석 보존 #5060도 들어갔습니다. 새 릴리스는 없고 최신 배포판은 v0.1.10입니다.

spinon은 10월 4일 밤에 연 HostDocument 회수 경로 #51와 V8 약한 DOM wrapper 회수 #52를 새벽에 병합했습니다. DOM 수명 반복 회수 검증 #53과 V8 세션 종료 경합 처리 #54도 이어 병합했습니다. 오후에는 문서 노드 수와 wrapper registry의 16,384개 고정 상한을 없애고, 16,385개 노드로 Android·iOS 시뮬레이터에서 회수를 확인했습니다(#55). 메모리 압박 신호를 다루는 #56은 미병합입니다. 여전히 PoC·명세 단계의 내부 시제품입니다.

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

커밋

ohah/maru

ohah/spinon

ohah/zntc

PR (해당일 생성/머지)

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

저장소PR해당일 활동상태대상 브랜치제목
ohah/maru#4167생성mergedmaintest(editor): 현재 문서 검색과 ripgrep 범위 및 비용 재비교
ohah/maru#4166생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-osr): W6h② 동영상·오디오 우클릭 메뉴 — 연속 재생·모든 제어 기능 표시·새 탭·주소 복사 (wire 12, ABI 210)
ohah/maru#4165생성 · 병합mergedmainfix(tests): WebContent 회수 검사에서 다른 앱 프로세스를 제외
ohah/maru#4164생성 · 병합mergedmaintest(agent-session): 정렬 토글을 실제 pointer 로 왕복하는 AppKit gate 와 1×/2× 토글 rect (AS6-b)
ohah/maru#4163생성 · 병합mergedmainfix(chrome): wrap confirm modal messages to the box instead of overflowing
ohah/maru#4162생성openmainfix(workspace): 저장 헤더를 maru.workspace.v1 로 되돌리고 옛 v2 는 읽기만 한다 — 2026-07-08 「헤더 bump 없음」 결정 복원, 파싱 실패를 침묵하지 않는다
ohah/maru#4161생성 · 병합mergedmaindocs(grapheme): Extended_Pictographic 속성표 보류의 전제를 바로잡는다 — 누락 쪽(🙂‍↔️ 4칸)과 emoji-width 기본
ohah/maru#4160생성 · 병합mergedmainfix(i18n): the reset confirmation says older scrollback is discarded
ohah/maru#4159생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-osr): W6h① 우클릭 메뉴 빈칸 — 새 창에서 링크 열기·새 탭에서 이미지 열기·선택한 글 검색 (wire 11, ABI 209)
ohah/maru#4158생성 · 병합mergedmainfix(config): a full reset applies the same way in every window
ohah/maru#4157생성 · 병합mergedmainfix(terminal): alt 화면 중 창을 줄이면 잘린 primary 행의 kitty 이미지를 지우고 넘친 열은 마지막 칸으로
ohah/maru#4156생성 · 병합mergedmainfix(agent-activity): 새 활동이 앞에 붙어도 보던 항목이 맨 위에 남는다 — 격자·줄 목록 (C2)
ohah/maru#4155생성 · 병합mergedmainfix(config): Reload Config reloads every window, not just the active one
ohah/maru#4154생성 · 병합merged기능 브랜치: docs/web-panel-osr-backenddocs(web-osr): W6 감사 — 낡은 서술·표 깨짐을 고치고, 없는 기능과 W6 남은 틈의 실측을 §7 로
ohah/maru#4153생성 · 병합mergedmainfeat(editor): 문서 전체 정규식 검색과 여러 줄 치환 연결
ohah/maru#4152생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-osr): W6g 창이 뒤에 있을 때 Chromium 탭 본문의 첫 클릭도 페이지로 (Chrome 처럼, ABI 208)
ohah/maru#4151생성 · 병합mergedmainfix(config): log one config report per change, not one per window
ohah/maru#4150생성 · 병합mergedmainfix(terminal): 청크 kitty 전송의 지연 디코드가 OOM 이면 옮겨 온 버퍼를 할당 길이로 돌려준다 — write·resize OOM 훑기 판정자
ohah/maru#4149생성 · 병합mergedmaindocs(find): 스크롤백 Find 의 fuzzy 는 두지 않는다 — 오탐이 많고 정규식이 대신한다
ohah/maru#4148생성 · 병합mergedmainfix(editor): 검색용 Unicode 접기를 편집 변환에서 분리
ohah/maru#4147생성 · 병합mergedmaintest(editor): judge single-thread cost lines by thread CPU time
ohah/maru#4146생성 · 병합mergedmainfix(session-host): recover observer fixtures and isolate ENOSPC setup budget
ohah/maru#4145생성 · 병합mergedmainperf(editor): 평문 찾기의 반복 디코드 비용 절감
ohah/maru#4144생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-osr): W6f② 원래 페이지와 이어진 팝업을 maru 탭으로 — 번호 맡기기, 그 번호로 탭 붙이기, 페이지가 닫으면 탭 닫기
ohah/maru#4143생성 · 병합mergedmainfix(session-host): RemoteRuntime 테스트 fixture 가 제품 constructor 의 값 칸을 같이 세운다 — ReleaseFast 에서만 C2 selected_text 가 ProtocolError 로 죽던 것
ohah/maru#4142생성 · 병합mergedmaintest(agent): judge AT3b-2 by the fixture's worktree, not the word "worktrees"
ohah/maru#4141생성 · 병합mergedmaintest(runner): move the real HOME out of reach of tests and product children
ohah/maru#4140생성 · 병합mergedmaintest(editor): 프로젝트 검색 엔진 후보 실측과 설계 정리
ohah/maru#4139생성 · 병합mergedmainfix(agent-hooks): codex 공유 데몬이 돌린 훅을 물려받은 pane 이 아니라 세션 id 로 귀속한다
ohah/maru#4138생성 · 병합mergedmainfix(session-host): 재접속 job 이 조용히 끝나지 않게 — 끝·다시 넣기·비움마다 사유 한 줄을 남긴다
ohah/maru#4137생성 · 병합mergedmainfeat(config): config 파일이 바뀌면 자동으로 다시 읽는다 — behavior.auto-reload
ohah/maru#4134병합mergedmainfeat(editor): 활성 문서의 도크 아웃라인을 추가한다
ohah/spinon#56생성openmainfeat(runtime): 호스트 메모리 압박 신호와 Android 취소 결과 표시
ohah/spinon#55생성 · 병합mergedmainfeat(runtime): 문서 노드 수 고정 상한 제거
ohah/spinon#54생성 · 병합mergedmainfix: V8 세션 종료 경합을 안전하게 처리
ohah/spinon#53생성 · 병합mergedmaintest: DOM 수명 반복 회수 검증
ohah/spinon#52병합mergedmainfeat: V8 약한 DOM wrapper 회수 연결
ohah/spinon#51병합mergedmainfeat: Rust HostDocument 회수 경로 구현
ohah/zntc#5105생성 · 병합mergedmainfix(transformer): ES5 클래스 computed-key 임시 심볼 연결
ohah/zntc#5104생성 · 병합mergedmainfix(transformer): bind worklet class factory symbols
ohah/zntc#5103생성 · 병합mergedmainfix(transformer): bind styled css prop callback symbols
ohah/zntc#5102생성 · 병합mergedmainfix(transformer): preserve generator for-of temp identities
ohah/zntc#5101생성 · 병합mergedmainrefactor(bundler): retain semantic graph after constant materialization
ohah/zntc#5100생성 · 병합mergedmaintest(transformer): anchor symbol coverage report parsing
ohah/zntc#5099생성 · 병합mergedmainrefactor(transformer): remove generated local rescans
ohah/zntc#5098생성 · 병합mergedmainrefactor(transformer): drop private method temp rescan
ohah/zntc#5097생성 · 병합mergedmainrefactor(transformer): drop declaration temp rescan
ohah/zntc#5096생성 · 병합mergedmainrefactor(transformer): remove generated temp rescans
ohah/zntc#5095생성 · 병합mergedmainfix(transformer): bind generated function names directly
ohah/zntc#5094생성 · 병합mergedmainfix(transformer): bind generated catch symbols by scope
ohah/zntc#5093생성 · 병합mergedmainfix(transformer): bind anonymous class name symbols directly
ohah/zntc#5092생성 · 병합mergedmainrefactor(transformer): remove stage3 local symbol fallback
ohah/zntc#5091생성 · 병합mergedmainfix(transformer): bind member extra initializer symbols directly
ohah/zntc#5090생성 · 병합mergedmainfix(transformer): bind member initializer symbols directly
ohah/zntc#5089생성 · 병합mergedmainfix(transformer): bind instance initializer symbols directly
ohah/zntc#5088생성 · 병합mergedmainfix(transformer): bind private method descriptors directly
ohah/zntc#5087생성 · 병합mergedmainfix(transformer): bind member decorator arrays by SymbolId
ohah/zntc#5086생성 · 병합mergedmainfix(transformer): bind static decorator symbols by SymbolId
ohah/zntc#5085생성 · 병합mergedmainfix(transformer): bind Stage 3 class-this symbols by SymbolId
ohah/zntc#5084생성 · 병합mergedmainfix(transformer): bind class extra initializer symbols
ohah/zntc#5083생성 · 병합mergedmainfix(transformer): bind class descriptor symbols by SymbolId
ohah/zntc#5082생성 · 병합mergedmainfix(transformer): bind class decorator symbols by SymbolId
ohah/zntc#5081생성 · 병합mergedmainfix(transformer): bind Stage 3 decorator metadata by SymbolId
ohah/zntc#5080생성 · 병합mergedmainfix(transformer): bind function capture symbols directly
ohah/zntc#5079생성 · 병합mergedmainfix(transformer): bind private method captures directly
ohah/zntc#5078생성 · 병합mergedmainfix(transformer): bind auto-accessor setter symbols directly
ohah/zntc#5077생성 · 병합mergedmainfix(transformer): bind generator captures directly
ohah/zntc#5076생성 · 병합mergedmainfix(transformer): bind async generator captures directly
ohah/zntc#5075생성 · 병합mergedmainfix(transformer): bind async state machine captures directly
ohah/zntc#5074생성 · 병합mergedmaintest(transformer): cover async wrapper capture path
ohah/zntc#5073생성 · 병합mergedmainfix(transformer): bind async function captures at creation
ohah/zntc#5072생성 · 병합mergedmainfix(transformer): bind async wrapper captures at creation
ohah/zntc#5071생성 · 병합mergedmainfix(transformer): bind class method captures at creation
ohah/zntc#5070생성 · 병합mergedmainfix(transformer): bind class accessor captures at creation
ohah/zntc#5069생성 · 병합mergedmainfix(transformer): bind RN parameter capture refs by exact SID
ohah/zntc#5068생성 · 병합mergedmainfix(transformer): preserve exact helper reference scopes
ohah/zntc#5067생성 · 병합mergedmainfix(transformer): bind explicit derived constructor symbols exactly
ohah/zntc#5066생성 · 병합mergedmainfix(transformer): bind default derived constructor symbols exactly
ohah/zntc#5065생성 · 병합mergedmaintest(transformer): audit declaration target scopes
ohah/zntc#5064생성 · 병합mergedmaindocs(symbols): deduplicate parameter boundary notes
ohah/zntc#5063생성 · 병합mergedmainfix(transformer): use audited parameter binding constructor
ohah/zntc#5062생성 · 병합mergedmainfix(transformer): separate parameter and body var identities
ohah/zntc#5061생성 · 병합mergedmainfix(transformer): verify generated scope ancestry
ohah/zntc#5060생성 · 병합mergedmainfix(codegen): preserve comments after helper preambles
ohah/zntc#5059생성 · 병합mergedmainfix(transformer): register parameter temps at creation