2026-09-24

날짜별 분류는 기존 기록과 같은 UTC 기준입니다. 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 집계 마감: 2026-09-26 17:05:20 KST (08:05:20 UTC). 공개 저장소에서 조회한 활동만 포함합니다.

요약 (AI 작성)

maru 편집기에 현재 줄·짝 괄호 강조와 들여쓰기 안내선의 구현이 들어왔습니다. 안내선의 언어별 기본값·긴 공백 구간·스크롤 창을 검증하고, 구문 접힘 승격 중 해제된 줄 표를 그리던 문제도 수정했습니다. 보이지 않는 탭의 출력과 kitty 애니메이션이 화면 전체의 갱신을 유발하지 않도록 렌더링 경로를 줄였습니다. 한글·밑줄이 들어간 경로의 대화 파일 탐색과 사라진 원격 tmux pane 행도 다듬었습니다.

Chromium 웹 패널은 sidecar·픽셀 링·Metal 표시·포인터·키보드·한글 입력을 잇는 PR들이 기능 브랜치에 병합됐습니다. 이 병합 대상은 docs/web-panel-osr-backend 등의 개발 브랜치이며, main 통합 PR #3867은 집계 시점에 열려 있습니다.

hwpjs는 HWPX의 모든 선언 XML과 패키지 바이트, 조건부 스타일·텍스트, 표 셀·격자·여백, 바탕쪽과 변경 추적 속성의 검사 범위를 넓혔습니다. zntc는 네이티브 Node 실행 결과와 변환 결과를 비교하는 다운레벨 검증을 추가하고, 식별자 생성의 대상 구분·심볼 전달·블록 스코프 이름 변경을 정리했습니다. 변환 뒤 minify 재분석에서 export·import·클래스 이름을 지키는 회귀 수정도 포함됩니다.

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

커밋

ohah/hwpjs

ohah/maru

ohah/zntc

PR (해당일 생성/머지)

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

저장소PR해당일 활동상태대상 브랜치제목
ohah/maru#3946생성mergedmainfeat(editor): 괄호 쌍 색 — VS Code bracketPairColorization (TextMate 오라클 대조 · 증분 목록)
ohah/maru#3945생성mergedmainfix(app): destroyPane 이 푼 Term 을 목록에 남겨 복원 중 뒤 Term 정리가 푼 형제를 읽던 것 (PANE-UAF)
ohah/maru#3944생성merged기능 브랜치: docs/web-panel-osr-backendfeat(web-panel): W4d① — 설정 browser.engine 으로 Chromium 엔진을 켠다(maru-chromium 설치 찾기·재시작 후 적용)
ohah/maru#3943생성mergedmainci(check-boundaries): 두 모드로 새어 든 문자열 판정자 20개를 다시 Debug 로만 — 그리고 판정자로 막는다
ohah/maru#3942생성openmaindocs(session-host): 실패한 host 의 재교체 정책 — 같은 앱 번들만, 시작 시 붙이기 전, 다음 시작에 계속, UI 먼저 (미구현)
ohah/maru#3941생성mergedmainfix(editor): 방향키로 커서를 한 자리에 몰면 타이핑이 커서 수만큼 들어가던 것 (§3.2)
ohah/maru#3940생성mergedmainfix(editor): run·글자 몫을 컴포넌트가 기하로 묶어 답한다 — 비교 뷰·병합에서 줄 번호가 본문에 밀려 통째로 사라지던 결함 (B1)
ohah/maru#3939생성 · 병합mergedmainrefactor(naming): 고정 same-major host fixture 둘을 주제 이름으로 — 원장이 5 에서 3 으로
ohah/maru#3938생성 · 병합mergedmainrefactor(naming): 남은 단일 판정자 셋을 주제 이름으로 — 원장이 8 에서 5 로
ohah/maru#3937생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-panel): W4c — Chromium 탭 키보드·한글 입력·편집 명령을 Zig 가 라우팅한다
ohah/maru#3936생성 · 병합mergedmainrefactor(naming): 재접속 기초 판정자 둘(CR0b·CR1 · CR2)을 주제 이름으로 — 원장이 10 에서 8 로
ohah/maru#3935생성 · 병합mergedmainrefactor(naming): P5c3c external attach 경계 셋·센티넬 다섯을 주제 이름으로 — 원장이 18 에서 10 으로
ohah/maru#3934생성 · 병합mergedmainrefactor(naming): CR3a-2d·2e 세대 해제 판정자 넷을 주제 이름으로 — 원장이 22 에서 18 로
ohah/maru#3933생성 · 병합mergedmainfix(editor): 구문 접힘 승격이 프레임이 잡아 둔 보이는 줄 표를 놓던 것 — 해제된 메모리를 그렸다
ohah/maru#3932생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-panel): W4b — Chromium 탭 포인터(클릭·끌기·hover·휠·커서·뒤로/앞으로 버튼)를 Zig 가 라우팅한다
ohah/maru#3931생성 · 병합mergedmainperf(renderer): 안 보이는 탭의 kitty 애니메이션은 프레임만 넘기고 화면을 다시 그리게 하지 않는다
ohah/maru#3930생성 · 병합mergedmainrefactor(naming): CR3c 세대 승격 · Client 회수 판정자 둘을 주제 이름으로 — 원장이 24 에서 22 로
ohah/maru#3929생성 · 병합mergedmainrefactor(naming): CR6f output wake · idle soak 판정자 둘을 주제 이름으로 — 원장이 26 에서 24 로
ohah/maru#3928생성 · 병합mergedmainrefactor(naming): CR6a·b 복구된 세션 판정자 셋을 주제 이름으로 — 원장이 29 에서 26 으로
ohah/maru#3927생성mergedmaindocs(editor): draw 저장소의 몫은 방출하는 컴포넌트가 센다 — 비교 뷰 줄 번호가 통째로 사라진 원인(run 640 한도)과 이관 순서
ohah/maru#3926생성 · 병합mergedmainfix(remote-agent): 죽은 tmux pane 행이 앱이 사는 동안 안 사라지던 것 (RA7)
ohah/maru#3925생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-panel): W4a — 입력 메시지와 sidecar 의 CEF 입력(마우스·휠·키·IME·편집 명령·커서·우클릭 메뉴 억제)
ohah/maru#3924생성 · 병합mergedmainrefactor(naming): CR5 호스트 전체 재접속 판정자 여덟을 주제 이름으로 — 원장이 37 에서 29 로
ohah/maru#3923생성 · 병합mergedmainrefactor(naming): CR4 재접속 Client 교체 판정자 넷을 주제 이름으로 — 원장이 41 에서 37 로
ohah/maru#3922생성 · 병합mergedmainfeat(editor): 들여쓰기 안내선 — VS Code 기본 켬, 간격은 파일에서 추정 (§5.1c)
ohah/maru#3921생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-panel): W3c — Chromium 탭 본문을 Metal 로 그린다(IOSurface 텍스처·보일 링 고르기·GPU 소비자 규칙)
ohah/maru#3920생성 · 병합mergedmainrefactor(naming): P5c3d 호환성·attach 제품 E2E 셋을 주제 이름으로 — 원장이 44 에서 41 로
ohah/maru#3919생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-panel): W3b — 앱이 Chromium sidecar 를 띄워 browser 탭을 맡긴다(개발용 환경변수)
ohah/maru#3918생성 · 병합mergedmainperf(renderer): 안 보이는 탭의 출력은 사이드바만, 사이드바가 그대로면 아무것도 안 올린다 — 활성 32 세션 앱 CPU −31 %
ohah/maru#3917생성 · 병합mergedmainrefactor(naming): CR2e 재접속 단위 테스트 셋을 제품 모듈 이름으로 — 원장이 47 에서 44 로
ohah/maru#3916생성 · 병합mergedmaindocs(osc): OSC 66·5522 의 「Ghostty 패리티」 전제가 틀렸다 — 둘 다 업스트림도 미완성
ohah/maru#3915생성 · 병합mergedmainrefactor(naming): P4 관측·유휴 비용 판정자 여섯(E2·E3)을 주제 이름으로 — 원장이 53 에서 47 로
ohah/maru#3914생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-panel): W3a — WKWebView 로그인 유지(macOS 14+)와 쿠키 권한을 허용한 사이트에 묶기
ohah/maru#3913생성 · 병합mergedmainrefactor(naming): CR6e 재접속 판정자 다섯을 주제 이름으로 — 원장이 58 에서 53 으로
ohah/maru#3912생성 · 병합mergedmaintest(session-host): gh 권한 판정자가 하드링크 경로를 realpath 로 얻지 않는다 — F_GETPATH 가 다른 링크 이름을 돌려준다
ohah/maru#3911생성 · 병합mergedmainfeat(editor): 현재 줄 강조 · 짝 괄호 강조 — VS Code 기본 켬 둘 (§5.1b), 괄호 점프도 같은 판정(§3.9c VS Code 실측 정정)
ohah/maru#3910생성 · 병합mergedmainfix(agent): 사이드바 대화 줄이 claude 대화 파일을 세션 id 로 찾는다 — 폴더 이름 규칙을 흉내 내다 밑줄·한글 경로에서 조용히 비었다
ohah/maru#3909생성 · 병합merged기능 브랜치: feat/web-osr-w1c-browsersfeat(web-panel): W2 — 픽셀 링(IOSurface 세 장·mailbox 원자 워드)과 mach port 전달, 토큰 인증·적대 메시지 방어
ohah/maru#3908생성 · 병합merged기능 브랜치: feat/web-osr-w1b-sidecarfeat(web-panel): W1c — 실제 브라우저·N 개·재시작 로그인 유지, 재실행 Chrome 창 차단, 크래시 원인 제거
ohah/maru#3907생성 · 병합mergedmaintest(session-host): clear·reset 판정자의 자식이 마지막 명령 전에 끝나지 않게 한다 — WriteFailed flake
ohah/maru#3906생성 · 병합mergedmainci(session-host): ReleaseFast 상한 45분을 좁히지 않는다 — 콜드 38분·웜 3분 실측과 7일 캐시 만료
ohah/maru#3905병합merged기능 브랜치: feat/web-osr-w1a-protocolfeat(web-panel): W1b — CEF sidecar 뼈대(maru-web-host·helper), 샌드박스·부모 사망 판정자, opt-in SDK
ohah/maru#3903병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-panel): W1a — 웹 OSR sidecar 제어 채널 wire codec(순수 Zig, CEF 없음)
ohah/maru#3901병합mergedmainci(macos): AppKit 스모크 잡 셋을 하나로 합친다 — 같은 앱을 세 번 콜드 빌드하며 macOS 러너 5개 중 셋을 잡고 있었다
ohah/zntc#4786생성 · 병합mergedmainfeat(transformer): es5 블록 스코핑 리네임을 심볼 표로 교체 (#4760 4단계-2)
ohah/zntc#4785생성 · 병합mergedmainfeat(transformer): 심볼 기준 블록 스코핑 리네임 표 + 기존 이름 스택과 병행 비교 (#4760 4단계-1)
ohah/zntc#4784생성 · 병합mergedmainrefactor(transformer): 변환 상태로 오는 클래스·함수 이름 참조에 심볼 전달 (#4760 3단계-6)
ohah/zntc#4783생성 · 병합mergedmainrefactor(transformer): span 기반 식별자 생성을 대상별로, es5 _super 의 틀린 심볼 수정 (#4760 3단계-5)
ohah/zntc#4780생성 · 병합mergedmainrefactor(transformer): 데코레이터 식별자 생성을 대상별 함수로, 헬퍼는 minify 이름으로 (#4760 3단계-4)
ohah/zntc#4779생성 · 병합mergedmainrefactor(transformer): 사용자 변수를 가리키는 동적 이름 식별자에 원래 심볼 전달 (#4760 3단계-3)
ohah/zntc#4778생성 · 병합mergedmainrefactor(transformer): 동적 이름 식별자 중 사용자 변수가 아닌 34곳을 대상별 함수로 (#4760 3단계-2)
ohah/zntc#4777생성 · 병합mergedmainfix(transpile): 변환 뒤 재분석 minify 에서도 export·import·클래스 식 이름 보존 (#4759 회귀)
ohah/zntc#4776생성 · 병합mergedmainrefactor(transformer): 식별자 생성 함수를 가리키는 대상별로 나눈다 (#4760 3단계-1)
ohah/zntc#4775생성 · 병합mergedmainfix(transpile): minify 이름 줄이기를 낮춘 뒤 코드를 다시 분석해서 한다 (#4759)
ohah/zntc#4774생성 · 병합mergedmainfix(transformer): es5 루프 캡처 _loop 매개변수·인자·끌어올린 var 에 심볼 전달 (#4760 2단계)
ohah/zntc#4773생성 · 병합mergedmainfix(transformer): es5 상태 기계가 접은 선언·호이스트 var 에 심볼 전달 (#4760 2단계)
ohah/zntc#4772생성 · 병합mergedmainfix(transformer): es5 기본값 매개변수 검사 참조에 심볼 전달 (#4760 2단계)
ohah/zntc#4771생성 · 병합mergedmainchore(integration): 오라클 fixture 디렉토리에 잘못 커밋된 작업 파일 제거
ohah/zntc#4770생성 · 병합mergedmaintest(integration): 다운레벨 오라클에 단일 파일 변환 경로와 긴 변수 이름
ohah/zntc#4769생성 · 병합mergedmainfix(transformer): 블록 스코핑 이름 조각을 string_table 재할당에서 보호
ohah/zntc#4761생성 · 병합mergedmainfeat(transformer): 심볼 ID 누락 검사기 (#4760 1단계)
ohah/zntc#4757생성 · 병합mergedmainrefactor(transformer): for-await 를 방문 없는 AST 풀이로 (#4746 3단계)
ohah/zntc#4755생성 · 병합mergedmainrefactor(transformer): 상태 기계 for-in 을 AST 풀이로 (#4746 2단계)
ohah/zntc#4754생성 · 병합mergedmainrefactor(transformer): for-of 를 일반 경로·상태 기계 공통 AST 풀이로 (#4746 1단계)
ohah/zntc#4753생성 · 병합mergedmaindocs(claude): PR 전 /code-review max 필수 규칙 제거
ohah/zntc#4752생성 · 병합mergedmainfix(transformer): 상태 기계 구조분해 대입이 rest 를 채운다
ohah/zntc#4751생성 · 병합mergedmaintest(integration): 다운레벨 런타임 오라클 스위트 추가