2026-10-10

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

요약 (AI 작성)

maru는 프로젝트 바꾸기를 실제 적용 단계로 넓혔습니다. 바꾸기 미리보기에서 고른 열린 문서에 변경을 적용하고 자동 저장하는 #4266이 10월 9일 밤에 열려 이날 오전 병합됐고, 디스크 검색 결과에 단일 파일 바꾸기와 자동 저장을 붙인 #4273이 뒤를 이었습니다. 여러 파일 바꾸기는 정책·실패 검증 설계 문서(#4281·#4282)를 먼저 정한 뒤, 여러 문서 Undo 사전 준비와 이력 신원(#4284), 여러 열린 문서를 한 작업으로 묶어 Cmd+Z에서 전체·현재 문서 되돌리기를 고르는 연결 편집(#4287), 선택 명세와 전체 편집 계획 준비(#4291), 열린 문서 일괄 적용과 파일별 CAS 저장(#4295)까지 병합했습니다. #4295 본문에 따르면 제품 배치 버튼·worker·닫힌 파일 로드는 아직 연결하지 않았고, 불변 snapshot으로 배치를 준비하는 worker #4299는 이날 밤 열려 다음 날 병합됐습니다.

워크스페이스 신뢰는 git 쪽으로 이어졌습니다. 신뢰 전 저장소의 git 읽기에서 partial clone의 지연 가져오기를 하지 않고 원격은 늘 신뢰 전으로 읽는 WT6b-1a #4265가 10월 9일에 열려 이날 병합됐고, 신뢰 전·원격 읽기에서 저장소가 정의한 파일 필터와 submodule 안을 돌리지 않는 #4275와 같은 규칙을 원격 감시자의 폴링에 적용한 #4279가 들어갔습니다. 소스 컨트롤 도크 머리 줄이 신뢰 전 저장소임을 알리고 신뢰 시트를 여는 WT6b-2a #4290도 병합됐습니다. stage·commit·로컬 fetch 같은 쓰기가 저장소의 훅·필터·설정 프로그램을 실행할 수 있어 쓰기 전에 신뢰 시트를 먼저 띄우는 #4297은 이날 열려 다음 날 0시 넘어 병합됐습니다.

화면 쪽에서는 찾기 막대를 연 채 우클릭하면 메뉴 글자가 6px 위로, 찾기 글자가 3px 왼쪽으로 밀리던 문제를 칸 위상이 다른 오버레이를 격자 따로 내려 고쳤고(#4269), 포커스 없는 찾기 막대가 열려 있을 때 완성 목록이 그려지지 않던 문제를 #4270으로 풀었습니다. 자동완성 목록을 VS Code 치수의 촘촘한 패널과 kind 아이콘으로 다시 만든 #4276, 커서마다 완성을 넣고 import는 한 번만 넣는 멀티 커서 자동완성 #4294도 병합됐습니다. 터미널에서는 한 칸에 결합 부호가 끝없이 붙으면 전역 store가 N²로 커지고 업그레이드가 막히던 문제를 0폭 코드포인트 64개 상한으로 막았고(#4285), 터미널 브라우저 사용 중 멈칫함의 원인을 가리기 위해 구독 무효화 위치와 사유를 로그로 남겼습니다(#4292). CLI는 같은 옵션이나 대상을 두 번 받으면 거절하는 수정이 이어졌습니다(#4267·#4272·#4286·#4288·#4289·#4296). Chromium 웹 패널의 W9 작업(#4274·#4277·#4280·#4283·#4293)과 컨트롤 플레인 #4268은 기능 브랜치 docs/web-panel-osr-backend에 병합돼 main 반영이 아닙니다.

zntc는 PR 53개(#5330부터 #5382까지)를 모두 병합했습니다. 새벽에는 standalone helper·JSX 런타임 import·new.target 캡처 이름을 늦게 정하도록 바꾸고, React Refresh·Emotion·Reanimated Worklet 변환 뒤에도 번들러가 의미 그래프를 유지하게 했습니다(#5335부터 #5339까지). 아침에는 private 메서드 helper와 WeakSet의 SymbolId를 보존했고, 오전에는 object-rest를 내린 뒤에도 매개변수 기본값과 eval·동적 조회용 매개변수 환경이 유지되도록 고쳤습니다(#5345부터 #5351까지). 오후부터 밤까지는 Stage 3 데코레이터 메타데이터·클래스 this·멤버 이름, generator 상태, 클래스 super·자기 참조, 익명 클래스 export, 반복문 추출과 tagged template 캐시 이름을 SymbolId로 정하거나 마지막에 확정하도록 옮겼습니다. 마지막 #5382는 심볼 게이트 카운터가 하나라도 0이 아니면 시험을 실패시킵니다. 새 릴리스는 없습니다(최신 v0.1.10).

spinon은 10월 9일 밤에 연 #96(제한 CSS 장면을 모바일 WGPU에 연결)을 0시 직후 병합했고, 이날 연 PR 24개(#97부터 #120까지)를 모두 병합했습니다. 새벽에는 런타임 사용자 지정 속성, author stylesheet, @property 등록, CSS 계산 결과 재사용과 하위 트리 스타일 재계산을 연결했고, 오전에는 단위 변환·크기 제약·테두리 폭·종횡비를 레이아웃에 넘겼습니다. 오후에는 Block 흐름과 배경 페인트, Chromium 사전 비교 기준 고정(#106)을 거쳐 일반 Block 흐름(C09.1), 수직 margin collapse(C09.2), flow-root BFC 경계를 구현했고, 저녁에는 flex-wrap 줄바꿈, Flex 크기 배분, 역방향 축과 줄 쌓기, order에 따른 paint 순서(#120)로 Flexbox를 진행했습니다. 여전히 PoC·명세 단계의 내부 시제품입니다.

hwpjs는 저녁 7시 47분부터 자정 전까지 main에 직접 커밋 39개를 올렸습니다. HWPX 제목 위치 변환(c02ea30)과 그 독립 왕복·손상 검사, HWP5 편집 경계에서 하이픈·고정 공백·줄바꿈 같은 문서화된 문자 제어를 보존하는 수정, HWP5 그리기 개체의 해석하지 않는 꼬리 바이트를 그대로 들고 가는 기능이 들어갔습니다. 밤 11시 넘어서는 HWP5·HWPX 파서와 편집 세션 API를 core에 통합하는 커밋(ae7cc77)과 미리보기에 Canvas 편집 메뉴와 worker 제어를 붙이는 커밋이 올라갔고, 추적 중인 fixture를 카탈로그로 노출하고 코퍼스 감사·저장 회귀 시험을 공개했습니다. 실험용 편집 경로와 검사 확장이며 완전한 렌더링·편집 지원은 아닙니다. 블로그 저장소에는 오늘의 커밋 10월 7일부터 9일까지의 기록, Maru 3-10·Spinon 3-2·ZNTC 3-24 개발기, 타임라인 갱신 커밋 5개가 올라갔습니다.

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

커밋

ohah/hwpjs

ohah/maru

ohah/ohah.github.io

ohah/spinon

ohah/zntc

PR (해당일 생성/머지)

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

저장소PR해당일 활동상태대상 브랜치제목
ohah/maru#4299생성mergedmainfeat(editor): 불변 snapshot 배치 준비 worker 추가
ohah/maru#4298생성mergedmainfix(cli): agent-events 로그 절단 전 출력 성공 확인
ohah/maru#4297생성mergedmainfeat(scm): 신뢰 전 로컬 저장소의 쓰기는 신뢰 시트부터 — 허용하면 누른 쓰기를 이어 한다
ohah/maru#4296생성 · 병합mergedmainfix(cli): agent-events 파일별 resume 커서 중복 거부
ohah/maru#4295생성 · 병합mergedmainfeat(editor): 열린 문서 배치 적용과 파일별 CAS 저장 연결
ohah/maru#4294생성 · 병합mergedmainfeat(editor): 멀티 커서 자동완성 — 커서마다 넣고 import 는 한 번·undo 하나
ohah/maru#4293생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-osr): W9b①b-1 — Chromium 탭의 snapshot·type·scroll·wait(DevTools), 적대 리뷰 4 회차
ohah/maru#4292생성 · 병합mergedmainfix(session-host): 구독 무효화가 어느 자리에서 왜 일어났는지 한 줄 남긴다
ohah/maru#4291생성 · 병합mergedmainfeat(editor): 여러 파일 바꾸기의 선택 명세와 전체 Plan 준비
ohah/maru#4290생성 · 병합mergedmainfeat(scm): 도크 머리 줄이 신뢰 전 저장소임을 말하고, 누르거나 팔레트로 같은 신뢰 시트를 연다
ohah/maru#4289생성 · 병합mergedmainfix(cli): reject repeated incident limits
ohah/maru#4288생성 · 병합mergedmainfix(cli): reject repeated agent event value options
ohah/maru#4287생성 · 병합mergedmainfeat(editor): 열린 문서의 연결 편집과 전체·현재 Undo/Redo 구현
ohah/maru#4286생성 · 병합mergedmainfix(cli): reject repeated agent hook options
ohah/maru#4285생성 · 병합mergedmainfix(terminal): 한 셀에 붙는 0폭 코드포인트를 64개로 자른다 — 무한 결합 부호가 store 를 N² 로 키우고 업그레이드를 막던 것
ohah/maru#4284생성 · 병합mergedmainfeat(editor): 여러 문서 Undo 사전 준비와 안정적인 이력 신원 추가
ohah/maru#4283생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfix(web-osr): W9b①a 적대 리뷰 3 회차 — 덮임 검사를 DOM clobbering 에서 막는다
ohah/maru#4282생성 · 병합mergedmaindocs(editor): 배치 처리 순서와 종료 경쟁 정책 보완
ohah/maru#4281생성 · 병합mergedmaindocs(editor): 여러 파일 바꾸기 정책과 실패 검증 설계
ohah/maru#4280생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-osr): W9b①a — Chromium 탭의 진짜 클릭·뒤로·앞으로·새로고침(DevTools)
ohah/maru#4279생성 · 병합mergedmainfix(remote-watch): 감시자의 폴링 다이제스트도 저장소가 정의한 필터와 submodule 안을 돌리지 않는다
ohah/maru#4278생성 · 병합mergedmainci(cli): run native process regression checks with artifacts
ohah/maru#4277생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-osr): W9-0b — sidecar wire 에 DevTools 호출(인자·결과 조각, 상한·시한·정리)
ohah/maru#4276생성 · 병합mergedmainfeat(editor): 자동완성 목록을 디자인 시스템 목록으로 — VS Code 치수의 촘촘한 패널·kind 아이콘·일치 글자
ohah/maru#4275생성 · 병합mergedmainfix(scm): 신뢰 전·원격 읽기는 저장소가 정의한 파일 필터와 submodule 안을 돌리지 않는다
ohah/maru#4274생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-osr): W9-0a — browser.list 에 엔진·실행 가능한 명령, 못 하는 명령은 확인 모달 전에 -32008
ohah/maru#4273생성 · 병합mergedmainfeat(editor): 디스크 검색 결과에 단일 파일 바꾸기 적용과 자동 저장 연결
ohah/maru#4272생성 · 병합mergedmainfix(cli): reject repeated window and volume target options
ohah/maru#4271생성 · 병합mergedmainfix(cli): make help requests succeed without side effects
ohah/maru#4270생성 · 병합mergedmainfeat(editor): 포커스 없는 찾기 막대가 열려 있어도 완성·시그니처·호버를 함께 그린다
ohah/maru#4269생성 · 병합mergedmainfix(chrome): 칸 위상이 다른 오버레이를 격자 따로 내려 글자가 컴포넌트 픽셀에 선다
ohah/maru#4268생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(control-plane): 1g — 서버가 붙은 프로세스의 출처에서 pane 을 스스로 찾는다(셀렉터를 믿지 않는다)
ohah/maru#4267생성 · 병합mergedmainfix(cli): reject duplicate browser surface targets
ohah/maru#4266병합mergedmainfeat(editor): 열린 문서 프로젝트 바꾸기 적용·자동 저장
ohah/maru#4265병합mergedmainfix(scm): 신뢰 전 저장소의 git 읽기는 partial clone 의 지연 가져오기를 하지 않고, 원격은 늘 신뢰 전으로 읽는다
ohah/spinon#120생성 · 병합mergedmainfeat(css): Flex order 계산·paint 순서 지원
ohah/spinon#119생성 · 병합mergedmainfeat(css): Flex 역방향 축과 줄 쌓기 구현
ohah/spinon#118생성 · 병합mergedmaindocs: C10.3 Flex 순서와 정렬 계획 보강
ohah/spinon#117생성 · 병합mergedmaindocs: C10.2 병합 상태와 근거 동기화
ohah/spinon#116생성 · 병합mergedmainfeat(css): Flex 크기 배분 runtime 검증
ohah/spinon#115생성 · 병합mergedmaindocs(css): Flex 크기 배분 계획 추가
ohah/spinon#114생성 · 병합mergedmainfeat(css): flex-wrap 줄바꿈 구현
ohah/spinon#113생성 · 병합mergedmaindocs(css): Flexbox C10.1 구현 계획과 검증 경계 추가
ohah/spinon#112생성 · 병합mergedmaindocs(css): C09.3 병합 상태와 명세 동기화
ohah/spinon#111생성 · 병합mergedmainfeat(css): flow-root BFC 경계 연결
ohah/spinon#110생성 · 병합mergedmaindocs(css): C09.2 병합 상태 문구 동기화
ohah/spinon#109생성 · 병합mergedmainfeat(css): C09.2 수직 margin collapse 검증
ohah/spinon#108생성 · 병합mergedmaindocs(css): C09.1 병합 상태와 공식 체크 동기화
ohah/spinon#107생성 · 병합mergedmainfeat(css): C09.1 일반 Block 흐름과 포함 블록 구현
ohah/spinon#106생성 · 병합mergedmaintest(css): C09 Chromium 사전 비교 기준 고정
ohah/spinon#105생성 · 병합mergedmainfeat(css): Block 흐름과 배경 페인트 연결
ohah/spinon#104생성 · 병합mergedmainfeat(css): 종횡비 계산과 Taffy 전달
ohah/spinon#103생성 · 병합mergedmainfeat(css): 테두리 폭 레이아웃 연결
ohah/spinon#102생성 · 병합mergedmainfeat(css): C06 단위 변환과 C07.1 크기 제약 연결
ohah/spinon#101생성 · 병합mergedmainfeat(css): 안전한 하위 트리 스타일 재계산 추가
ohah/spinon#100생성 · 병합mergedmainfeat: 연결 장면 CSS 계산 결과 재사용
ohah/spinon#99생성 · 병합mergedmainfeat(css): 런타임 @property 등록 연결
ohah/spinon#98생성 · 병합mergedmainfeat(css): 런타임 author stylesheet 연결
ohah/spinon#97생성 · 병합mergedmainfeat(css): C05.1 런타임 사용자 지정 속성 연결
ohah/spinon#96병합mergedmainfeat: 제한 CSS 장면을 모바일 WGPU에 연결
ohah/zntc#5382생성 · 병합mergedmaintest(transformer): reject every nonzero symbol gate counter
ohah/zntc#5381생성 · 병합mergedmainfix(bundler): retain styled-components CSS-prop graph
ohah/zntc#5380생성 · 병합mergedmainfix(bundler): retain audited sync generator graphs
ohah/zntc#5379생성 · 병합mergedmainfix(symbols): finalize tagged-template cache names
ohah/zntc#5378생성 · 병합mergedmainfix(symbols): finalize extracted-loop control-flow names
ohah/zntc#5377생성 · 병합mergedmainfix(symbols): finalize object-super home names
ohah/zntc#5376생성 · 병합mergedmainfix(symbols): finalize for-of iterator step names
ohah/zntc#5375생성 · 병합mergedmainfix(transformer): late-name extracted loop binding
ohah/zntc#5374생성 · 병합mergedmainfix(transformer): require exact private method name handles
ohah/zntc#5373생성 · 병합mergedmainfix(transformer): require exact generated function symbols
ohah/zntc#5372생성 · 병합mergedmainfix(transformer): bind generated accessor symbols exactly
ohah/zntc#5371생성 · 병합mergedmainfix(transformer): bind decorated anonymous class symbols exactly
ohah/zntc#5370생성 · 병합mergedmainfix(transformer): bind anonymous class exports by SymbolId
ohah/zntc#5369생성 · 병합mergedmainfix(transformer): late-name class self aliases by SymbolId
ohah/zntc#5368생성 · 병합mergedmainfix(transformer): finalize class self write helper names
ohah/zntc#5367생성 · 병합mergedmainfix(transformer): resolve class self write names by SymbolId
ohah/zntc#5366생성 · 병합mergedmaintest(transformer): audit exact identities across minify modes
ohah/zntc#5365생성 · 병합mergedmainfix(transformer): reserve source names before late synthetic naming
ohah/zntc#5364생성 · 병합mergedmainfix(transformer): capture new.target in retained ES5 parameters
ohah/zntc#5363생성 · 병합mergedmainfix(transformer): avoid RN parameter capture collisions
ohah/zntc#5362생성 · 병합mergedmainfix(transformer): keep lexical new.target capture names in sync
ohah/zntc#5361생성 · 병합mergedmainfix(transformer): defer ES5 class new.target names
ohah/zntc#5360생성 · 병합mergedmainfix(transformer): resolve class super names by symbol
ohah/zntc#5359생성 · 병합mergedmainfix(transformer): resolve generator state names by symbol
ohah/zntc#5358생성 · 병합mergedmaintest(symbols): cover minified identity across targets
ohah/zntc#5357생성 · 병합mergedmainfix(worklet): avoid class factory closure collisions
ohah/zntc#5356생성 · 병합mergedmainfix(transformer): defer Stage 3 member symbol names
ohah/zntc#5355생성 · 병합mergedmainfix(transformer): defer Stage 3 class decorator names
ohah/zntc#5354생성 · 병합mergedmainfix(transformer): defer Stage 3 class-this symbol names
ohah/zntc#5353생성 · 병합mergedmainfix(transformer): defer Stage 3 metadata symbol names
ohah/zntc#5352생성 · 병합mergedmainfix(transformer): defer optional catch output names
ohah/zntc#5351생성 · 병합mergedmainfix(transformer): preserve parameter environments for dynamic lookup
ohah/zntc#5350생성 · 병합mergedmainfix(transformer): preserve parameter identity through body eval
ohah/zntc#5349생성 · 병합mergedmainfix(transformer): isolate moved parameter defaults from dynamic body scope
ohah/zntc#5348생성 · 병합mergedmainfix(transformer): isolate parameter eval after object-rest lowering
ohah/zntc#5347생성 · 병합mergedmainfix(transformer): preserve parameter scope after object-rest lowering
ohah/zntc#5346생성 · 병합mergedmainfix(semantic): 비단순 매개변수 환경과 심볼 참조 보존
ohah/zntc#5345생성 · 병합mergedmainfix(transformer): preserve object-rest parameter defaults
ohah/zntc#5344생성 · 병합mergedmaintest(ci): classify iterative private method walker
ohah/zntc#5343생성 · 병합mergedmainrefactor(transformer): preserve captured private method symbols
ohah/zntc#5342생성 · 병합mergedmainrefactor(transformer): private method function SymbolId 보존 (#4819)
ohah/zntc#5341생성 · 병합mergedmainrefactor(transformer): preserve private WeakSet symbol identities
ohah/zntc#5340생성 · 병합mergedmainrefactor(transformer): preserve private helper symbol identities
ohah/zntc#5339생성 · 병합mergedmainrefactor(bundler): defer Worklet factory local naming
ohah/zntc#5338생성 · 병합mergedmainrefactor(bundler): retain nested Worklet helper graph
ohah/zntc#5337생성 · 병합mergedmainrefactor(bundler): retain Reanimated Worklet symbol graph
ohah/zntc#5336생성 · 병합mergedmainfeat(bundler): retain Emotion semantic graph
ohah/zntc#5335생성 · 병합mergedmainfeat(bundler): retain React Refresh semantic graph
ohah/zntc#5334생성 · 병합mergedmaintest(symbols): detect missing declaration anchors (#4819)
ohah/zntc#5333생성 · 병합mergedmainfix(transformer): defer native new.target capture naming
ohah/zntc#5332생성 · 병합mergedmainfix(bundler): preserve styled-components symbol identities
ohah/zntc#5331생성 · 병합mergedmainfix(transformer): defer standalone JSX runtime import names
ohah/zntc#5330생성 · 병합mergedmainfix(transformer): defer standalone helper name resolution