2026-06-04

날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.

요약 (AI 작성)

maru는 오전까지 문서와 설계 경계를 정리했습니다. Metal 우선 렌더러 결정(#25), snapshot 스키마 헤더와 Trace·Event 용어 고정, 민감 키 redaction 목록 단일화와 렌더러 shaping·dirty-region 계약(#26), 터미널 호환성 정책과 계약(#30, #34), 외부 oracle의 CI 적용 범위 명시가 들어왔고, 밤에는 폰트 렌더링 전략(#36)과 grapheme·ZWJ 폭, ambiguous-width, faux bold, box-drawing을 미뤄 둔 항목으로 기록했습니다(#38). import 경계 검사기는 여러 줄 @import를 잡도록 고친 뒤(#32) 토큰 단위 스캔으로 바꿔 주석 회피와 오탐을 막았습니다(#35). 코드로는 나뉘어 들어온 UTF-8 입력 보존(#39), 셀 폭 모델(#40)과 결합 문자 위치·폭 경계 수정(#41), macOS openpty 세션(#42)이 추가됐고, CI에 아티팩트 업로드와 성능 워크플로를 붙였습니다.

suji는 프로덕션 .app을 다른 맥에서도 돌도록 다듬었습니다. 빌드 머신 경로에 의존하지 않는 self-contained 번들, suji 스킴의 CEF_SCHEME_OPTION_LOCAL 제거로 흰 화면 해결, 재빌드 때 CEF 프레임워크가 중첩되지 않는 idempotent 번들, 더블클릭 실행 시 번들 안 config를 읽도록 한 수정이 들어왔습니다. node 없는 백엔드에서도 쓸 수 있게 suji.config.ts를 없애고 정적 suji.json을 단일 출처로 삼았으며, app.minimumSystemVersion으로 최소 macOS 버전을 지정하게 했습니다. 문서 사이트는 API 레퍼런스 포팅, llms.txt, suji init의 CLAUDE·AGENTS 생성, zts 스타일 적용으로 정비했고, Lua 백엔드는 vendored Lua 5.4와 cjson, invoke·send·on outbound API를 갖췄습니다(#68).

zntc는 HMR 위상 보존 Phase B로 body-only 편집 때 변경 모듈만 다시 파싱하고 나머지 edge를 재사용하게 했고, 리뷰에서 나온 TLA 강등·requested_exports UAF·pkg_info_cache 무효화 문제를 함께 고쳤습니다(#4163). RN asset 모듈(#4164, #4165)과 polyfill·run_before_main(#4166)도 보존 경로에 넣었고, 보존 게이트와 그래프 시간 분해 진단 로깅(#4169), dev HMR 테스트의 watcher 경합 flake 제거(#4167, #4168)가 뒤따랐습니다.

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

커밋

ohah/maru

ohah/suji

ohah/zntc

PR (해당일 생성/머지)

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

저장소PR해당일 활동상태대상 브랜치제목
ohah/maru#42생성 · 병합mergedmainfeat(pty): add macOS openpty session
ohah/maru#41생성 · 병합mergedmainfix(terminal): correct combining-mark placement and cell-width edge cases
ohah/maru#40생성 · 병합mergedmainfeat(terminal): add cell width model
ohah/maru#39생성 · 병합mergedmainfix(terminal): preserve split UTF-8 input
ohah/maru#38생성 · 병합mergedmaindocs(font): record grapheme/ZWJ width, ambiguous-width, faux bold, box-drawing as deferred
ohah/maru#37생성 · 병합mergedmaindocs: scope external-oracle CI enforcement in references and project-structure
ohah/maru#36생성 · 병합mergedmaindocs: add font rendering strategy
ohah/maru#35생성 · 병합mergedmainfix(boundary): tokenize @import scanning to close comment evasion and false positives
ohah/maru#34생성 · 병합mergedmaindocs: clarify terminal compatibility contracts
ohah/maru#33생성 · 병합mergedmaindocs: scope external-oracle CI enforcement and clear the stale parser-first note
ohah/maru#32생성 · 병합mergedmainfix(boundary): catch zig fmt-clean multi-line @import in the boundary checker
ohah/maru#31생성 · 병합mergedmaindocs: reconcile v2 schema seam, oracle scope, clean-room wording
ohah/maru#30생성 · 병합mergedmaindocs: record terminal compatibility policy
ohah/maru#29생성 · 병합mergedmaindocs: add boundary tests to project structure
ohah/maru#28생성 · 병합mergedmaindocs: complete the project-structure tree (workflows/, observability/plugin barrels)
ohah/maru#27생성 · 병합mergedmainfix: reconcile main design seams
ohah/maru#26생성 · 병합mergedmaindocs: reconcile new design-doc seams (schema headers, event vocab, redaction source)
ohah/maru#25생성 · 병합mergedmainRecord Metal-first renderer decision
ohah/suji#68생성 · 병합mergedmainfeat(lua): vendored Lua 5.4 + cjson + 1급 outbound API (invoke/send/on)
ohah/zntc#4169생성 · 병합mergedmainfeat(debug): HMR 위상 보존 게이트 + grph 분해 진단 로깅
ohah/zntc#4168생성 · 병합mergedmainfix(test): dev HMR 형제 테스트 watcher arm-race 선제 견고화 — 공유 waitForHmrBroadcast
ohah/zntc#4167생성 · 병합mergedmainfix(test): dev HMR new-css-import 테스트의 watcher arm-race flake 제거
ohah/zntc#4166생성 · 병합mergedmainperf(graph): runtime_polyfill_roots + run_before_main 위상 보존 (PR-2)
ohah/zntc#4165생성 · 병합mergedmainperf(graph): RN asset 모듈 위상 보존 reparse — fallback 제거 (PR-1 후속)
ohah/zntc#4164생성 · 병합mergedmainperf(graph): RN asset metadata 위상 보존 — module-level 재수집 (PR-1)
ohah/zntc#4163생성 · 병합mergedmainperf(graph): HMR 위상 보존 edge-reuse (Phase B — web graph 절감 + /code-review max 수정)