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
- feat(pty): add macos openpty session
- docs: sync combining-mark placement and width coverage with code
- fix(terminal): correct combining-mark placement and cell-width edge cases
- ci: upload artifacts and add performance workflow
- feat(terminal): add cell width model
- fix(terminal): preserve split utf8 input
- docs(font): record grapheme/ZWJ width, ambiguous-width, faux bold, box-drawing as deferred
- docs: scope external-oracle CI enforcement in references and project-structure
- docs: add font rendering strategy
- fix(boundary): tokenize @import scanning to close comment evasion and false positives
- docs: clarify terminal compatibility contracts
- docs: scope external-oracle CI enforcement and clear the stale parser-first note
- fix(boundary): catch zig fmt-clean multi-line @import in the boundary checker
- docs: reconcile v2 schema seam, oracle scope, clean-room wording
- docs: record terminal compatibility policy
- docs: add boundary tests to project structure
- docs: complete the project-structure tree (workflows/, observability/plugin barrels)
- fix: reconcile main design seams
- docs: unify schema headers and pin the Trace/Event vocabulary
- docs: add single-source redaction keys and renderer shaping/dirty-region contract
- docs: record metal-first renderer decision
ohah/suji
- feat(lua): vendored Lua 5.4 + cjson + 1급 outbound API (invoke/send/on)
- docs(site): zts 스타일 적용 + 전 문서 사용자 관점 정리 (내부 메타 제거)
- docs(site): documents/ API 레퍼런스 포팅 + llms.txt + suji init CLAUDE/AGENTS 생성
- feat(macos): app.minimumSystemVersion 으로 최소 배포 타겟 설정 (Tauri minimumSystemVersion 대응)
- refactor(config): suji.config.ts 제거 — 정적 suji.json 단일 출처로
- fix(test): node bridge needle 를 weak-link 시그니처에 맞춤 (CI 회귀)
- fix(config): 프로덕션 .app 이 번들 안 config 를 읽게 — 더블클릭 시 무반응 수정
- fix(macos): 번들을 idempotent 하게 — 재빌드 시 CEF 프레임워크 중첩(공증 Invalid) 차단
- fix(scheme): suji 스킴에서 CEF_SCHEME_OPTION_LOCAL 제거 — 프로덕션 흰 화면 해결
- fix(macos): 번들 .app 을 self-contained 로 — 다른 맥에서 실행/렌더되게
ohah/zntc
- feat(debug): HMR 위상 보존 게이트 + grph 분해 진단 로깅 (ZNTC_DEBUG=topology_preserve)
- fix(test): dev HMR 형제 테스트 watcher arm-race 선제 견고화 — 공유 waitForHmrBroadcast
- fix(test): dev HMR new-css-import 테스트의 watcher arm-race flake 제거
- perf(graph): runtime_polyfill_roots + run_before_main 위상 보존 (PR-2)
- perf(graph): RN asset 모듈 위상 보존 reparse — fallback 제거 (PR-1 후속)
- perf(graph): RN asset metadata 위상 보존 — module-level 재수집 (PR-1)
- fix(graph): Phase B /code-review max HIGH 2건 — TLA demote + requested_exports UAF
- perf(graph): HMR 위상 보존 edge-reuse (Phase B — web graph 절감)
- fix(graph): F1 — prepareForPreservedRebuild 가 pkg_info_cache 무효화 (path_arena dangling 키)
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.