2026-10-02

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

요약 (AI 작성)

maru는 작업공간 복원을 손봤습니다. 전날 열린 workspace.restore 설정 토글 #4060이 병합됐고, 복원이 실패한 탭·pane·slot 위치와 버려진 항목을 app.log에 남기는 #4063이 들어갔습니다. 제목 없는 문서의 백업은 창 복원이 확정될 때까지 지우지 않고, 남은 백업의 번호를 새 문서가 다시 쓰지 않도록 고쳐 저장하지 않은 글이 사라지거나 덮이는 경우를 막았습니다(#4067). 공유 편집은 자정 직후 병합된 IME 확정 거절 시 조합·입력 포커스 보존 #4062에 이어, 공유 IME 표시와 입력 거래 수명 보호 #4065, 뷰별 검색 상태·강조 분리 #4070, 반대 뷰의 접힘·스크롤 유지 #4078가 병합됐습니다. kitty 이미지가 reflow와 스크롤백 재배치 뒤에도 자기 셀을 따라가게 하는 #4074는 이날 열려 다음 날 병합됐습니다.

maru의 그 밖의 변경으로는 Codex 질문을 입력 대기로 잡고 지연된 턴 완료 알림을 막는 에이전트 상태 수정 #4073·#4079, 모바일 터미널에서 탭한 웹 링크 열기 #4064가 있습니다. 테스트 쪽은 session_host 판정자를 PR 샤드에서 다시 돌리는 #4059가 병합됐고, UI 프레임 도장과 이벤트 해제 snapshot을 러너가 매기는 판정자 번호로 묶어 앞선 판정자의 상태가 새지 않게 했습니다(#4066, #4072). select-all 복사 판정자의 조건 없는 3초 대기도 없앴습니다(#4075). 앱이 select 목록을 그리는 #4061, Chromium 탭의 툴팁 #4069과 그 원인 재현 문서 #4077은 기능 브랜치 docs/web-panel-osr-backend에 병합된 것으로 main 반영은 아닙니다.

hwpjs는 새벽에 실험용 편집 경로를 이어 갔습니다. HWPX에서 머리말·꼬리말 문단을 본문을 평탄화하지 않고 편집하고, 보호 개체 주변에 텍스트 입력 위치를 만들었습니다. Canvas 미리보기에서 편집한 문서를 내려받는 기능, HWP5·HWPX의 네이티브 Undo·Redo와 Canvas 이력 연결, HWP5의 Enter 문단 나누기와 경계 삭제 문단 합치기도 추가했습니다. 모두 실험용 Canvas 편집이며 재조판은 하지 않습니다.

spinon은 CSS 파이프라인을 이어 붙였습니다. C01 부분 feature inventory를 고정하고 #25, alias·package CSS resolver 비교 #26와 Chromium 레이아웃 기준 fixture #28를 실험으로 추가했습니다. C02 입력·출력 그래프 계약을 문서화한 뒤(#30, #31) Vite·Rspack 모듈 그래프 어댑터 #32를 병합했고, JavaScript·CSS 자원 그래프 결합 #33은 이날 열려 다음 날 병합됐습니다. 청크 단위 OTA의 호환 모델 초안 #27은 설계 문서이며 구현은 아닙니다.

zntc는 #4819 심볼 유지 작업으로 PR 48개를 병합했습니다. 새벽에는 enum IIFE 매개변수와 enum 멤버 참조, ES5 namespace 클래스 export, Flow enum·component를 심볼로 모델링하고, Flow match와 TypeScript·Flow 타입 제거에서 번들러가 semantic graph를 유지하게 했습니다. 낮 이후에는 TSX, 네이티브·다운레벨 using, 레거시·Flow 데코레이터와 데코레이터 메타데이터, Flow 클래스·private 필드·auto-accessor, TypeScript namespace export와 import-equals·export-equals 경로에서 변환 단계 그래프를 재사용하고, React Refresh 핸들·worklet·styled cssProp·TLA 대기를 심볼 정체성으로 묶었습니다. minify 뒤 정체성 감사와 전체 정체성 커버리지 게이트 시험도 추가했습니다.

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

커밋

ohah/hwpjs

ohah/maru

ohah/spinon

ohah/zntc

PR (해당일 생성/머지)

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

저장소PR해당일 활동상태대상 브랜치제목
ohah/maru#4079생성 · 병합mergedmainfix(agent): isolate missing turn IDs and unsupported hook events
ohah/maru#4078생성 · 병합mergedmainfix(editor): 공유 편집 시 반대 뷰의 접힘과 스크롤 유지
ohah/maru#4077생성 · 병합merged기능 브랜치: docs/web-panel-osr-backenddocs(web-osr): W6b 툴팁이 안 뜨던 원인을 수정 전 코드로 재현 — 추적 영역 전부 지우기
ohah/maru#4075생성 · 병합mergedmainperf(tests): select-all copy 판정자는 마지막 줄이 화면에 올 때까지만 기다린다 — 조건 없는 3 초 대기를 없앤다
ohah/maru#4074생성mergedmainfix(terminal): kitty placements follow their cell through reflow and scrollback rewrap
ohah/maru#4073생성 · 병합mergedmainfix(agent): Codex 입력 대기와 턴 완료 알림 정합성 보강
ohah/maru#4072생성 · 병합mergedmainfix(tests): 이벤트 해제 post snapshot 도 그것을 쓴 판정자 안에서만 꺼내진다 — 읽는 쪽 비우기를 판정자 번호로 대체
ohah/maru#4070생성 · 병합mergedmainfeat(editor): 공유 뷰별 검색 상태와 강조 분리
ohah/maru#4069생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-osr): W6b Chromium 탭 툴팁 — macOS 툴팁으로(Chrome 과 같은 방식, wire 4·ABI 201)
ohah/maru#4067생성 · 병합mergedmainfix(workspace): keep revived untitled backups until the window restore commits, and never reuse their numbers
ohah/maru#4066생성 · 병합mergedmainfix(tests): UI 프레임 도장은 그것을 올린 판정자 안에서만 유효하다 — 러너가 판정자마다 번호를 매긴다
ohah/maru#4065생성 · 병합mergedmainfeat(editor): 공유 IME 표시와 입력 거래 수명 보호
ohah/maru#4064생성 · 병합mergedmainfeat(mobile): open tapped terminal web links
ohah/maru#4063생성 · 병합mergedmainfeat(workspace): log where a restore failed and what it dropped; redirect app stderr at launch
ohah/maru#4062생성 · 병합mergedmainfix(ime): 확정 거절 시 조합과 입력 포커스 보존
ohah/maru#4061병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-osr): W6a② 앱이 <select> 목록을 그린다 — 열린 목록의 키는 입력기 없이(ABI 200)
ohah/maru#4060병합mergedmainfeat(workspace): turn workspace restore off with config workspace.restore
ohah/maru#4059병합mergedmainci(test): app-host 집계 샤드에서 session_host 판정자를 다시 돌린다 — shutdown_admin_connector 만 샤드 밖에
ohah/spinon#33생성mergedmainfeat: C02.3 JavaScript·CSS 자원 그래프 결합
ohah/spinon#32생성 · 병합mergedmainfeat(css): Vite·Rspack 모듈 그래프 어댑터 추가
ohah/spinon#31생성 · 병합mergedmaindocs(css): C02 JS 자원 범위 명확화
ohah/spinon#30생성 · 병합mergedmaindocs(css): C02 입력·출력 그래프 계약 추가
ohah/spinon#29생성 · 병합mergedmaindocs(css): C01.2 기준 산출물 완료 상태 반영
ohah/spinon#28생성 · 병합mergedmainspike(css): Chromium 레이아웃 기준 fixture 추가
ohah/spinon#27생성 · 병합mergedmaindocs(ota): 청크 OTA 호환 모델 초안
ohah/spinon#26생성 · 병합mergedmainspike(css): alias·package CSS resolver 비교
ohah/spinon#25생성 · 병합mergedmainfeat(css): C01 부분 feature inventory 고정
ohah/zntc#4963생성 · 병합mergedmainfix(transpile): reuse transform symbols for React Refresh
ohah/zntc#4962생성 · 병합mergedmainfix(transformer): fail closed on post-minify identity counters
ohah/zntc#4961생성 · 병합mergedmainfix(transpile): preserve qualified metadata symbols
ohah/zntc#4960생성 · 병합mergedmainfix(transpile): preserve decorator metadata symbol identity
ohah/zntc#4959생성 · 병합mergedmaintest(symbols): audit identity after minification
ohah/zntc#4958생성 · 병합mergedmainfix(semantic): audit generated scope owners exactly
ohah/zntc#4957생성 · 병합mergedmainfix(transpile): preserve legacy-decorated class expressions
ohah/zntc#4956생성 · 병합mergedmainfix(transpile): reuse semantic graph for legacy decorators
ohah/zntc#4955생성 · 병합mergedmainfix(transpile): reuse semantic graph for Flow decorators
ohah/zntc#4954생성 · 병합mergedmainfix(symbols): reuse graph for Flow auto-accessors
ohah/zntc#4953생성 · 병합mergedmainfix(symbols): reuse graph for Flow private fields
ohah/zntc#4952생성 · 병합mergedmainfix(symbols): reuse transform graph for Flow classes
ohah/zntc#4951생성 · 병합mergedmainfix(symbols): reuse graph for TypeScript namespace exports
ohah/zntc#4950생성 · 병합mergedmainfix(symbols): preserve TypeScript export-equals identity
ohah/zntc#4949생성 · 병합mergedmainfix(symbols): preserve TypeScript import-equals identities
ohah/zntc#4948생성 · 병합mergedmaintest(symbols): gate complete identity coverage
ohah/zntc#4947생성 · 병합mergedmainfix(codegen): reserve fixed output names
ohah/zntc#4946생성 · 병합mergedmainfix(transpile): reuse semantic graph for downlevel using
ohah/zntc#4945생성 · 병합mergedmainfix: Flow component JSX 심볼 그래프 연결
ohah/zntc#4944생성 · 병합mergedmainfix: Flow JSX graph에서 이름 맹글링
ohah/zntc#4943생성 · 병합mergedmainfix(transpile): reuse transform graph for TSX (#4819)
ohah/zntc#4942생성 · 병합mergedmainfix(transpile): reuse graph for native using syntax (#4819)
ohah/zntc#4941생성 · 병합mergedmainfix(transformer): bind for-await temps with symbol handles (#4819)
ohah/zntc#4940생성 · 병합mergedmainfix(bundler): resolve TLA waits by symbol identity
ohah/zntc#4939생성 · 병합mergedmaintest(symbols): include all oracle fixture types in coverage gate
ohah/zntc#4938생성 · 병합mergedmaintest(symbols): #4819 reject strict report drift
ohah/zntc#4937생성 · 병합mergedmainfix(worklet): preserve setter symbol scopes
ohah/zntc#4936생성 · 병합mergedmainfix(transformer): preserve block worklet symbol aliases
ohah/zntc#4935생성 · 병합mergedmainfix(transformer): preserve worklet factory symbol identity
ohah/zntc#4934생성 · 병합mergedmainfix(transformer): preserve styled cssProp symbols
ohah/zntc#4933생성 · 병합mergedmainfix(transformer): exclude nested React Refresh components
ohah/zntc#4932생성 · 병합mergedmainrefactor(semantic): bind React Refresh handles to symbols
ohah/zntc#4931생성 · 병합mergedmainperf(bundler): preserve graph for TypeScript type erasure
ohah/zntc#4930생성 · 병합mergedmaintest(transformer): avoid identifier audit false positive
ohah/zntc#4929생성 · 병합mergedmainperf(bundler): preserve Flow type-erasure semantic graph
ohah/zntc#4928생성 · 병합mergedmainfix(bundler): preserve Flow match generated globals
ohah/zntc#4927생성 · 병합mergedmainfix(bundler): keep semantic graph for Flow match
ohah/zntc#4926생성 · 병합mergedmainfix(semantic): model Flow component symbols
ohah/zntc#4925생성 · 병합mergedmainfix(semantic): #4819 model Flow enum symbols
ohah/zntc#4924생성 · 병합mergedmainfix(semantic): #4819 reuse graph for Flow match mangling
ohah/zntc#4923생성 · 병합mergedmaintest(symbols): #4819 fail closed on exact audit drift
ohah/zntc#4922생성 · 병합mergedmainfix(bundler): #4819 avoid createRequire shim binding collisions
ohah/zntc#4921생성 · 병합mergedmainfix(codegen): #4819 preserve namespace export symbol renames
ohah/zntc#4920생성 · 병합mergedmainfix(semantic): #4819 retain namespace destructuring symbols
ohah/zntc#4919생성 · 병합mergedmaintest(semantic): #4819 cover namespace class SymbolIds
ohah/zntc#4918생성 · 병합mergedmainfix(semantic): #4819 preserve ES5 namespace class exports
ohah/zntc#4917생성 · 병합mergedmainfeat(semantic): #4819 model enum member references as symbols
ohah/zntc#4916생성 · 병합mergedmainfix(semantic): model enum IIFE parameters as symbols