2026-10-09

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

요약 (AI 작성)

maru는 프로젝트 검색을 화면에 연결했습니다. ⇧⌘F로 현재 창의 로컬 프로젝트를 검색하고 결과를 눌러 일치 위치로 이동하는 검색 도크를 #4245로, 검색 결과 전용 탭과 바꾸기 미리보기를 #4261로 병합했습니다. 열린 문서에 프로젝트 바꾸기를 적용하는 #4266은 이날 열려 다음 날 병합됐습니다. 앱 URL로 파일의 줄·열을 여는 기능(#4249)과 이를 CLI editor 명령에 묶는 #4258, 잘못된 쓰기를 거절하고 응답 실패를 전달하는 CLI 수정 #4264도 들어갔습니다.

워크스페이스 신뢰 작업도 이어졌습니다. WT3b #4243는 언어 서버를 사용자 로그인 셸 환경으로 찾고 띄웁니다. Finder로 띄운 앱은 PATH가 짧아 ~/.cargo/bin이나 nvm 아래 서버를 찾지 못하고 「없음 — 설치」로 끝나던 문제입니다. 컨트롤 플레인·CLI로 신뢰를 조회·철회·잊는 WT4b #4244는 에이전트가 신뢰를 줄 수 없도록 부여 메서드를 두지 않았습니다. 신뢰 시트에 실행 파일 경로·출처와 서버 버전을 보이는 WT5a #4251, 서버에 넘기지 않을 환경 변수를 정하는 WT5b-1 #4255도 병합됐습니다. WT6a #4260는 저장소 설정에 log.showSignature와 gpg.program이 있으면 git 읽기가 그 프로그램을 실행하던 구멍을 막았습니다. 신뢰 전 저장소에서 partial clone의 지연 가져오기를 막는 #4265는 이날 열려 다음 날 병합됐습니다.

tmux 안의 터미널 브라우저가 왼쪽 위 30×30 칸만 그림으로 그려지던 문제를 #4257에서 고쳤습니다. kitty 이미지 자리표시자가 쓰는 결합 문자 중 214개를 폭 1로 세 뒤 칸이 밀린 것이 원인이라, 결합 부호 Mn·Me 전체를 폭 0으로 셉니다. 오버레이 쪽에서는 보이지 않는 자동완성 목록이 이름 상자나 팔레트 안의 클릭을 받아 문서에 완성을 넣던 문제(#4247), 다른 오버레이가 없으면 ⌘S 뒤 이름 없는 문서 저장 상자가 그려지지 않아 친 글자가 보이지 않는 상자로 가던 문제(#4250)를 고쳤습니다. 오버레이 프레임을 그릴지 정하는 조건에 빠진 출처가 없는지 판정자로 대조하는 작업(#4252·#4254·#4259)과 숨은 자동완성·호버 닫기(#4263)도 이어졌고, 10월 8일에 연 #4242가 새벽에 병합됐습니다. Chromium 웹 패널의 다운로드 W10c·W10d·W10e(#4241·#4246·#4248)와, 앱 종료가 proof_loss(86)로 끝나던 세션 호스트 수정 둘(#4256·#4262)은 기능 브랜치 docs/web-panel-osr-backend에 병합돼 main 반영이 아닙니다.

zntc는 PR 63개(#5267부터 #5329까지)를 모두 병합했습니다. 새벽에는 enum IIFE 매개변수와 standalone helper 앞부분의 이름을 SymbolId를 거쳐 정하도록 codegen을 바꾸고(#5270부터 #5272까지), 심볼 감사가 압축 뒤 증명되지 않은 전역이나 가려진 helper 신원을 거절하게 했습니다. 오후에는 ES5 번들에서 static 클래스 필드와 그 참조·호출이 의미 그래프를 유지하는 범위를 넓혔고(#5298부터 #5315까지), 저녁에는 generator 임시 변수를 생성 시점에 등록하도록 옮겼습니다(#5316부터 #5320까지). 밤에는 선택적 static 읽기·계산된 키·optional call 결과 꼬리로 범위를 넓혔습니다(#5321부터 #5328까지). 새 릴리스는 없습니다(최신 v0.1.10).

spinon은 이날 연 PR 19개 중 18개(#78부터 #95까지)를 병합했습니다. 새벽에는 Android 실기기에서 R05 입력·fence 경로를 재검증하고, API 29에서 _Unwind_Resume 로드에 실패하던 문제를 NDK의 libunwind.a를 정적으로 연결해 고쳤습니다(#82). 낮에는 CSS 쪽 작업이 이어져 Chromium CSSOM 속성 표면 기준(#85), Flex 정렬·margin의 Taffy 전달(#88·#91), Cascade Layers(#89), UA 기본값·media 환경 cascade(#90·#92·#93)를 더했습니다. 저녁에는 런타임 문서의 제한 CSS를 Stylo로 계산해 Taffy 레이아웃까지 잇는 C04.9 #95를 병합했습니다. 제한 CSS 장면을 모바일 WGPU에 연결하는 #96은 이날 밤 열려 10월 10일 0시 넘어 병합됐습니다. 여전히 PoC·명세 단계의 내부 시제품입니다.

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

커밋

ohah/maru

ohah/spinon

ohah/zntc

PR (해당일 생성/머지)

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

저장소PR해당일 활동상태대상 브랜치제목
ohah/maru#4266생성mergedmainfeat(editor): 열린 문서 프로젝트 바꾸기 적용·자동 저장
ohah/maru#4265생성mergedmainfix(scm): 신뢰 전 저장소의 git 읽기는 partial clone 의 지연 가져오기를 하지 않고, 원격은 늘 신뢰 전으로 읽는다
ohah/maru#4264생성 · 병합mergedmainfix(cli): reject invalid writes and propagate response failures
ohah/maru#4263생성 · 병합mergedmainfix(editor): 입력을 받는 오버레이 아래 숨은 자동완성·시그니처·호버를 닫는다
ohah/maru#4262생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfix(session-host): 「종료 및 세션 끝내기」가 끝난 셸·여러 셸·승인 뒤 tick 에서 proof_loss(86)로 끝나던 것을 고친다
ohah/maru#4261생성 · 병합mergedmainfeat(editor): 검색 결과 탭과 바꾸기 미리보기 추가
ohah/maru#4260생성 · 병합mergedmainfix(git): 읽기가 저장소의 서명 검증 프로그램을 실행하지 않고, 원격 감시자도 env 덮어쓰기를 싣는다 (WT6a)
ohah/maru#4259생성 · 병합mergedmaintest(chrome): 관문을 지나는 오버레이를 하나씩 열어 관문이 서는지 동작으로 잰다
ohah/maru#4258생성 · 병합mergedmainfeat(cli): editor 명령에 파일 열기와 LSP 신뢰 관리 통합
ohah/maru#4257생성 · 병합mergedmainfix(terminal): 결합 부호 Mn·Me 전체를 0폭으로 센다 — tmux 안 터미널 브라우저가 30×30 만 그려지던 것
ohah/maru#4256생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfix(session-host): 끝난 셸에 다른 종류의 close 를 보내 앱 종료가 proof_loss(86)로 끝나던 것을 고친다
ohah/maru#4255생성 · 병합mergedmainfeat(lsp): 언어 서버에 넘기지 않을 환경 변수 목록과 넘기는 이름 보기 — 셸 cwd 는 앱의 HOME (WT5b-1)
ohah/maru#4254생성 · 병합mergedmaintest(chrome): 관문 대조 판정자 OVF1 의 구멍 셋을 막고, 포커스 없는 찾기 막대를 동작으로 잰다
ohah/maru#4252생성 · 병합mergedmainfix(chrome): 오버레이 프레임이 그리는 출처마다 관문이 서는지 판정자로 대조하고, 마커 프리뷰 실패 안내를 관문에 넣는다
ohah/maru#4251생성 · 병합mergedmainfeat(lsp): 신뢰 시트와 「Show Server Info」가 실행 파일 경로·출처와 서버가 알려 준 버전을 보인다 (WT5a)
ohah/maru#4250생성 · 병합mergedmainfix(editor): 이름 없는 문서 저장 상자가 다른 오버레이 없이도 그려진다
ohah/maru#4249생성 · 병합mergedmainfeat(editor): 앱 URL로 파일·줄·열 열기
ohah/maru#4248생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-osr): W10e — 마지막 셸이 끝나도 받는 중이면 창만 닫고 다 받을 때까지 남는다(ABI 216)
ohah/maru#4247생성 · 병합mergedmainfix(editor): 안 그려진 자동완성·호버 상자는 클릭·휠을 받지 않는다
ohah/maru#4246생성 · 병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-osr): W10d — 받는 중 스스로 닫는 페이지는 남겨 주차, 고른 폴더 완료는 작업 스레드, 남은 임시 파일은 다음 실행이 지운다
ohah/maru#4245생성 · 병합mergedmainfeat(editor): 프로젝트 검색 도크의 입력과 결과 이동 연결
ohah/maru#4244생성 · 병합mergedmainfeat(lsp): 컨트롤 플레인·CLI 로 언어 서버 신뢰를 조회·철회·잊는다 — 부여는 없고, 셀렉터 없는 같은 사용자 연결만 (WT4b)
ohah/maru#4243생성 · 병합mergedmainfeat(lsp): 언어 서버를 사용자 셸 환경으로 찾고 띄운다 — 로그인 셸을 한 번 읽고, 읽는 동안은 「없음」을 판정하지 않는다 (WT3b)
ohah/maru#4242병합mergedmainfeat(editor): 팝업 이름 상자 안을 누른 자리로 caret 을 옮기고, 서버가 없으면 확정을 알린다
ohah/maru#4241병합merged기능 브랜치: docs/web-panel-osr-backendfeat(web-osr): W10c — 받는 중 닫은 탭은 숨겨 끝까지 받고, 종료 확인에 다운로드 수, 빈 다운로드 탭은 닫는다
ohah/spinon#96생성mergedmainfeat: 제한 CSS 장면을 모바일 WGPU에 연결
ohah/spinon#95생성 · 병합mergedmainfeat: C04.9 런타임 CSS를 Taffy에 연결
ohah/spinon#94생성 · 병합mergedmaindocs(css): Runtime CSS→Taffy 계획과 비교 기준 추가
ohah/spinon#93생성 · 병합mergedmainfeat: C04.8 런타임 UA cascade 연결
ohah/spinon#92생성 · 병합mergedmainfeat(css): Stylo media 환경 입력 cascade 추가
ohah/spinon#91생성 · 병합mergedmainfeat(css): 제한 Flex margin을 Taffy 레이아웃에 연결
ohah/spinon#90생성 · 병합mergedmainfeat(css): 지원 HTML UA 기본 계산 API 추가
ohah/spinon#89생성 · 병합mergedmainfeat: 제한 Flex profile에 CSS Cascade Layers 구현
ohah/spinon#88생성 · 병합mergedmainfeat: Flex 정렬 값을 Taffy에 전달
ohah/spinon#87생성 · 병합mergedmaintest: Android 실기기 block 02 직접 입력 표본 수집
ohah/spinon#86생성 · 병합mergedmainfeat: Android 직접 입력 수집·정확 결합 분석기 구현
ohah/spinon#85생성 · 병합mergedmainfeat(css): Chromium CSSOM 속성 표면 기준 추가
ohah/spinon#84생성 · 병합mergedmaindocs(benchmark): Android 실기기 재검증 기록 추가
ohah/spinon#83생성 · 병합mergedmaindocs: R01 웹 호환 범위 인벤토리 추가
ohah/spinon#82생성 · 병합mergedmainfix: Android API 29 unwind 런타임 링크 수정
ohah/spinon#81생성 · 병합mergedmaindocs: 안드로이드 실기기 Release smoke 결과와 한계 기록
ohah/spinon#80생성 · 병합mergedmaintest(android): 실기기 입력·fence 경로 재검증
ohah/spinon#79생성 · 병합mergedmaintest(r05): Android 실기기 비동기 fence 확인
ohah/spinon#78생성 · 병합mergedmaintest: Android R05 캡처와 실기기 검증 근거 추가
ohah/zntc#5329생성 · 병합mergedmainfix(bundler): retain read-only const loop heads
ohah/zntc#5328생성 · 병합mergedmaintest(symbols): cover nested optional-call tail retention
ohah/zntc#5327생성 · 병합mergedmainfix(transformer): preserve optional-call mixed tails
ohah/zntc#5326생성 · 병합mergedmainfix(bundler): optional call 결과 tail에서 identity 유지
ohah/zntc#5325생성 · 병합mergedmainfix(bundler): retain bound optional key calls
ohah/zntc#5324생성 · 병합mergedmainfix(bundler): retain safe optional key expressions
ohah/zntc#5323생성 · 병합mergedmainfix(bundler): retain safe optional computed reads
ohah/zntc#5322생성 · 병합mergedmainfix(bundler): retain bound nested optional static reads
ohah/zntc#5321생성 · 병합mergedmainfix(bundler): retain bound optional static reads
ohah/zntc#5320생성 · 병합mergedmaintest(4819): cover nested generator for-of temp scope
ohah/zntc#5319생성 · 병합mergedmainfix(4819): pin exact schema and generator temp scopes
ohah/zntc#5318생성 · 병합mergedmainrefactor(4819): remove deferred state symbol binding
ohah/zntc#5317생성 · 병합mergedmainfix(4819): register generator state wrapper temps at creation
ohah/zntc#5316생성 · 병합mergedmainfix(transformer): bind generator using temps at creation
ohah/zntc#5315생성 · 병합mergedmainfix(bundler): retain bound computed static field keys
ohah/zntc#5314생성 · 병합mergedmainfix(bundler): retain safe computed static field keys
ohah/zntc#5313생성 · 병합mergedmainfix(bundler): retain bound computed member receivers
ohah/zntc#5312생성 · 병합mergedmainfix(bundler): retain bound computed member calls
ohah/zntc#5311생성 · 병합mergedmainfix(bundler): retain bound computed static-field keys
ohah/zntc#5310생성 · 병합mergedmainfix(bundler): retain safe computed static-field reads
ohah/zntc#5309생성 · 병합mergedmainperf(bundler): retain bound static member field values
ohah/zntc#5308생성 · 병합mergedmainperf(bundler): retain deeply nested static field calls
ohah/zntc#5307생성 · 병합mergedmainperf(bundler): retain bound static member chains
ohah/zntc#5306생성 · 병합mergedmainperf(bundler): retain nested static member receivers
ohah/zntc#5305생성 · 병합mergedmainperf(bundler): retain bound nested static calls
ohah/zntc#5304생성 · 병합mergedmainperf(bundler): retain exact member static calls
ohah/zntc#5303생성 · 병합mergedmainperf(bundler): retain bound static field calls
ohah/zntc#5302생성 · 병합mergedmainperf(bundler): retain graph with whitespace minification
ohah/zntc#5301생성 · 병합mergedmainperf(bundler): retain safe static field expressions
ohah/zntc#5300생성 · 병합mergedmaintest(symbols): harden strict coverage report parsing
ohah/zntc#5299생성 · 병합mergedmainperf(bundler): retain exact static field references
ohah/zntc#5298생성 · 병합mergedmainperf(bundler): retain exact graphs for safe static fields
ohah/zntc#5297생성 · 병합mergedmaindocs(errors): document ZNTC1502
ohah/zntc#5296생성 · 병합mergedmainfix(transformer): preserve exponentiation in dynamic scopes
ohah/zntc#5295생성 · 병합mergedmaintest(ci): classify iterative linker walker
ohah/zntc#5294생성 · 병합mergedmainfix(transformer): validate relocated symbol lookup scope
ohah/zntc#5293생성 · 병합mergedmainfix(bundler): preserve generated globals under nested shadows
ohah/zntc#5292생성 · 병합mergedmainfix(bundler): route namespace aliases through SymbolId
ohah/zntc#5291생성 · 병합mergedmainfix(bundler): retain mixed optional call result identity
ohah/zntc#5290생성 · 병합mergedmainfix(bundler): protect generated using helpers from shadowing
ohah/zntc#5289생성 · 병합mergedmainfix(semantic): audit exact declaration identity
ohah/zntc#5288생성 · 병합mergedmainfix: 충돌하는 합성 이름을 예약한다 (#4819)
ohah/zntc#5287생성 · 병합mergedmainfix(symbols): retain exact graphs for anonymous classes
ohah/zntc#5286생성 · 병합mergedmainfix(symbols): require exact generated binding scopes
ohah/zntc#5285생성 · 병합mergedmainfix(transformer): classify private class self symbol generation
ohah/zntc#5284생성 · 병합mergedmainfix(transformer): capture private class self identity (#4819)
ohah/zntc#5283생성 · 병합mergedmainfix(transformer): preserve lexical capture SymbolIds
ohah/zntc#5282생성 · 병합mergedmainfix(symbols): reject unproven post-minify globals
ohah/zntc#5281생성 · 병합mergedmainfix(symbols): validate post-minify symbol identities
ohah/zntc#5280생성 · 병합mergedmainfix(symbols): require class self owner mappings
ohah/zntc#5279생성 · 병합mergedmainfix(symbols): reject shadowed helper identities
ohah/zntc#5278생성 · 병합mergedmainfix(bundler): retain safe multi-binding lexical for graphs
ohah/zntc#5277생성 · 병합mergedmainfix(bundler): retain safe lexical for identities
ohah/zntc#5276생성 · 병합mergedmainfix(symbols): reject reference scope mismatches
ohah/zntc#5275생성 · 병합mergedmainfix(ci): classify static initializer scope walker
ohah/zntc#5274생성 · 병합mergedmainfix(transformer): preserve lowered static class symbol scopes
ohah/zntc#5273생성 · 병합mergedmainfix(runtime): avoid await helper name shadowing
ohah/zntc#5272생성 · 병합mergedmainfix(codegen): resolve output names through SymbolId
ohah/zntc#5271생성 · 병합mergedmainfix(codegen): mangle standalone runtime helper preambles
ohah/zntc#5270생성 · 병합mergedmainfix(codegen): mangle enum IIFE parameter by SymbolId
ohah/zntc#5269생성 · 병합mergedmainfix(transformer): validate deferred generator loop owners (#4819)
ohah/zntc#5268생성 · 병합mergedmaintest(transformer): enforce prepass exact report schema (#4819)
ohah/zntc#5267생성 · 병합mergedmaintest(transformer): enforce post-minify symbol report schema (#4819)