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
- fix(tests): WebContent 자원과 회수를 대상 뷰의 프로세스에 귀속
- test(agent-session): 정렬 토글을 실제 pointer 로 왕복하는 AppKit gate 와 1×/2× 토글 rect (AS6-b)
- fix(chrome): wrap confirm modal messages to the box instead of overflowing
- feat(editor): 문서 전체 정규식 검색과 여러 줄 치환 연결
- fix(editor): 검색용 Unicode 접기를 편집 변환에서 분리
- docs(grapheme): Extended_Pictographic 속성표 보류의 전제를 바로잡는다 — 누락 쪽(🙂↔️ 4칸)과 emoji-width 기본
- fix(i18n): the reset confirmation says older scrollback is discarded
- perf(editor): 평문 검색의 반복 디코드 비용 절감
- fix(config): a full reset applies the same way in every window
- fix(editor): 프로젝트 검색 검증의 파일 해석과 선정 경계 보완
- test(editor): 프로젝트 검색 후보의 결과와 비용 비교
- fix(terminal): alt 화면 중 창을 줄이면 잘린 primary 행의 kitty 이미지를 지우고 넘친 열은 마지막 칸으로
- fix(agent-activity): 새 활동이 앞에 붙어도 보던 항목이 맨 위에 남는다 — 격자·줄 목록 (C2)
- fix(config): Reload Config reloads every window, not just the active one
- fix(config): log one config report per change, not one per window
- fix(terminal): 청크 kitty 전송의 지연 디코드가 OOM 이면 옮겨 온 버퍼를 할당 길이로 돌려준다 — write·resize OOM 훑기 판정자
- docs(find): 스크롤백 Find 의 fuzzy 는 두지 않는다 — 오탐이 많고 정규식이 대신한다
- test(editor): judge single-thread cost lines by thread CPU time
- test(session-host): verify resync completion and fragmented ACK progress
- test(session-host): harden adversarial observer recovery coverage
- fix(session-host): recover observer fixtures and isolate disk-full setup budget
- feat(config): config 파일이 바뀌면 자동으로 다시 읽는다 — behavior.auto-reload
- fix(session-host): RemoteRuntime 테스트 fixture 가 제품 constructor 의 값 칸을 같이 세운다 — ReleaseFast 에서만 C2 selected_text 가 ProtocolError 로 죽던 것
- test(agent): judge AT3b-2 by the fixture's worktree, not the word "worktrees"
- test(runner): move the real HOME out of reach of tests and product children
- fix(agent-hooks): codex 자동 압축의 SessionStart(source=compact)는 데몬 귀속 묶음을 풀지 않는다
- test(build-graph): check-boundaries 의존 원장에 codex 데몬 귀속 Debug 실행 넷을 센다
- fix(agent-hooks): codex 데몬 귀속 적대적 검증 반영 — 옛 데몬 모양·세션 하나 묶음·따라잡기·pid 재사용·회전본
- fix(agent-hooks): codex 데몬 이벤트의 같은 cwd 후보가 없으면 cwd 무관 codex Term 으로 같은 규칙을 돌린다
- fix(agent-hooks): codex 데몬 판별을 제어 터미널이 아니라 훅 부모($PPID) argv 로 한다
- fix(agent-hooks): codex 공유 데몬이 돌린 훅을 파일 이름(pane)이 아니라 세션 id 로 귀속한다
- docs(session-host): 재접속 끝 줄 문서를 실제와 맞춘다 — cancelled 는 종료 정산이라 줄이 없고, age_ms 는 awake 시계, 시도 기록은 봉인에 들어간다
- fix(session-host): 재접속 job 이 조용히 끝나지 않게 — 끝·다시 넣기·비움마다 사유 한 줄을 남긴다
- fix(editor): 아웃라인 클릭 취소와 발행 실패를 보완한다
- feat(editor): 활성 문서의 도크 아웃라인을 추가한다
ohah/spinon
- test(runtime): 대량 registry 재scan 표본 기록
- feat(runtime): 대량 DOM wrapper registry 회수 검증 추가
- feat(runtime): 문서 노드 수 고정 상한 제거
- fix: V8 세션 종료 경합을 안전하게 처리
- test: DOM 수명 반복 회수 검증
- feat: V8 약한 DOM wrapper 회수 연결
- feat: Rust HostDocument 회수 경로 구현
ohah/zntc
- fix(transformer): bind ES5 class computed-key temp symbols
- fix(transformer): bind worklet class factory symbols
- fix(transformer): bind styled css prop callback symbols
- fix(transformer): bind generator for-of temp identities
- refactor(bundler): retain semantic graph after const materialization
- test(transformer): anchor symbol coverage report parsing
- refactor(transformer): remove generated local rescans
- refactor(transformer): drop private method temp rescan
- refactor(transformer): drop declaration temp rescan
- refactor(transformer): remove generated temp rescans
- fix(transformer): bind generated function names directly
- fix(transformer): bind generated catch symbols by scope
- fix(transformer): bind anonymous class name symbols directly
- refactor(transformer): remove stage3 local symbol fallback
- fix(transformer): bind member extra initializer symbols directly
- fix(transformer): bind member initializer symbols directly
- fix(transformer): bind instance initializer symbols directly
- fix(transformer): bind private method descriptors directly
- fix(transformer): bind member decorator arrays directly
- fix(transformer): bind static decorator symbols directly
- fix(transformer): bind class this symbols directly
- fix(transformer): bind class extra initializer symbols directly
- fix(transformer): bind class descriptor symbols directly
- fix(transformer): bind class decorator symbols directly
- fix(transformer): bind Stage 3 metadata symbols directly
- fix(transformer): bind function capture symbols directly
- fix(transformer): bind private method captures directly
- fix(transformer): bind auto-accessor setter symbols directly
- fix(transformer): bind generator captures directly
- fix(transformer): bind async generator captures directly
- fix(transformer): bind async state machine captures directly
- test(transformer): cover async wrapper capture path
- fix(transformer): bind async function captures at creation
- fix(transformer): bind async wrapper captures at creation
- fix(transformer): bind class method captures at creation
- fix(transformer): bind accessor captures at creation
- fix(transformer): bind RN parameter capture refs by SID
- fix(transformer): preserve exact helper reference scopes
- fix(transformer): bind explicit derived constructor symbols exactly
- fix(transformer): bind default derived constructor symbols exactly
- test(transformer): audit declaration target scopes
- docs(symbols): deduplicate parameter boundary notes
- fix(transformer): use audited parameter binding constructor
- fix(transformer): separate parameter and body var identities
- fix(transformer): validate generated scope ancestry
- fix(codegen): preserve comments after helper preambles
- docs(symbols): track parameter temp ownership PR
- fix(transformer): register parameter temps at creation
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.