2026-09-30
한국 시간(KST) 기준으로 하루를 나눴습니다. 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 조회: 2026-10-06 KST. 공개 저장소에서 조회한 활동만 포함합니다.
요약 (AI 작성)
maru는 session host 업그레이드가 수렴하지 않던 문제를 정리했습니다. 업그레이드 스캔은 첫 prepare 뒤 결과와 무관하게 끝나서, 교체가 늘 실패하는 host 하나가 나머지 옛 host의 교체를 막았습니다. #4023은 결과에 따라 다음 후보로 넘어가고 매니페스트 게시 시각 순으로 시도하게 했습니다. 교체가 실패해도 새 host를 띄우지 않고 살아 있는 호환 host를 재사용해 「host 하나」 원칙을 지키게 하는 #4030은 이날 밤 열려 자정 직후 병합됐습니다. 재연결 직전 강제 resize가 host의 옛 격자를 다시 박던 문제와, 관문이 버린 mutation을 이유와 함께 남기는 진단은 #4017에 담겼습니다. 자정 직후에는 전날 밤 열린 #4014가 병합돼, 업그레이드 handoff 실패·host 자연 종료·spawn 재시도에서 로그가 없거나 틀리던 세 자리를 보완했습니다.
CI 쪽은 main push에서만 도는 잡이 실패하면 이슈 하나로 알리는 워크플로를 추가했습니다(#4028). 9/27부터 9/30까지 main push 51번 중 22번이 그 잡에서 실패했고, PR에서는 드러나지 않아 22시간 가까이 빨간 채 이어진 구간도 있었습니다. #4017 뒤 깨진 크기 pin을 실측값으로 맞춘 #4025, exec 업그레이드 테스트의 목표 이미지를 ReleaseFast로 바꾼 #4024, macOS 전용 게이트를 별도 잡으로 떼어 병렬로 돌리는 #4020도 병합됐습니다. CI(ubuntu)에는 처음부터 등록되지 않던 macOS 전용 동작 테스트 17개를 check-boundaries에서 Debug로만 돌게 한 #4019는 로컬 macOS 스텝 수를 줄이는 변경입니다. 샤드 러너가 무시 상태로 물려받은 SIGINT·SIGQUIT를 되돌리고 C2 상대 스레드의 read에 기한을 거는 #4029는 이날 열려 다음 날 병합됐습니다.
편집기는 전날 열린 인접 검색 강조 op 병합 #4010을 병합하고, 비교 뷰 좌우의 찾기 상태와 입력 포커스를 분리했습니다(#4027). 전체 프레임 op writer의 비용·실패 경계 검증 #4016과 초기 성장 실패에서 현재 검색을 보존하는 #4021은 테스트 전용 B2 writer 범위이며 제품 저장소 정책은 바꾸지 않았습니다. 편집기 잔여 작업 정리 문서 #4022도 병합됐습니다. Chromium 웹 패널은 W7a2 #4015와 후속 #4018, 안내 문구 정리 #4026, maru-chromium Homebrew formula를 다룬 W7b #4031이 모두 기능 브랜치 docs/web-panel-osr-backend에 병합돼 main 반영은 아닙니다.
spinon은 R06 스레드·소유권 위험 표 #14와, Chromium식 우선순위 큐를 갖춘 V8 세션 우선순위 스케줄러 기반 #15, R06 근거 링크의 문서 빌드 오류 수정 #16을 병합했습니다. Taffy 레이아웃 모듈 #17은 이날 열려 다음 날 병합됐습니다. hwpjs는 HWP5 편집을 위한 스타일 참조 보존과 일반 텍스트 교체 시제품을 추가하고, 레코드 하위 트리 경계에서 문단 소유를 닫도록 고쳤습니다.
공개 커밋 41개, 해당일 생성 또는 병합된 PR 23개를 정리했습니다. PR 생성 20개·병합 20개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/hwpjs
- fix(hwp5): close paragraph ownership at record subtree boundaries
- feat(hwp5): prototype controlled plain text splices
- feat(hwp5): prototype controlled style reference preservation
ohah/maru
- fix(editor): IME 시작 전에 비교 찾기 입력 소유자 정산
- fix(editor): 좁은 비교 열의 찾기 표시와 입력 경계 통일
- fix(editor): tick 전 입력에서 지난 비교 찾기 소유자 정산
- docs(editor): 독립 찾기 검증 결과와 입력 소유자 설명 동기화
- feat(editor): 비교 뷰 좌우 찾기 상태와 입력 포커스를 분리
- ci: main CI 가 빨개지면 이슈 하나로 알린다 — main 전용 잡이 22시간 동안 빨간 채로 아무도 몰랐다
- test(session-host): 크기 pin 의 둘째 사본과 CR2a 경계의 개수 잠금도 같은 실측값으로
- test(session-host): #4017 이 RemoteRuntime 을 키우고 크기 pin 을 안 올려 main 이 빨갰다 — 실측값으로 올린다
- test(session-host): exec 업그레이드 multifd 판정자의 목표 이미지를 ReleaseFast 로 — Debug 가 5초 예산을 넘겨 롤백했다
- fix(session-host): 업그레이드 스캔이 매 설치 같은 host 만 바꿔 수렴하지 않던 것 — 게시 시각 순으로 돌고, attempt_conflict 는 멈춘다
- fix(session-host): 업그레이드 스캔이 첫 prepare 뒤 결과와 무관하게 끝나, 확정 실패 host 하나가 나머지 교체를 영구히 막던 것
- docs(editor): 추가 검증에서 누락된 정책과 제외 범위를 보완한다
- docs(editor): 적대적 대조에서 찾은 낡은 상태와 검증 범위를 바로잡는다
- docs(editor): 전체 잔여 작업과 제품 구현 상태를 정리한다
- ci(macos): file explorer 잡에서 macOS 전용 게이트를 떼어 병렬로 — PR 벽시계를 그 잡 하나가 정하고 있었다
- fix(editor): 초기 성장 실패에서도 현재 검색을 보존한다
- ci(check-boundaries): macOS 전용 동작 테스트 17개도 Debug 로만 — CI(ubuntu)엔 처음부터 없었다
- fix(session-host): 관문 버림 진단이 첫 이유 하나에 잠겨 진짜 이유를 가렸다 — op·이유마다 적고, 강제 resize 는 host 가 거절 못 할 크기만 싣는다
- fix(session-host): 재연결 강제 resize 가 host 의 옛 격자를 다시 박던 것 — 레이아웃 의도를 쓰고, 관문이 버린 mutation 을 이름과 함께 남긴다
- test(editor): OOM 주입에서 resize와 remap도 실패시킨다
- test(editor): writer 합류 순서와 초기 성장 실패 반례를 고정한다
- test(editor): 전체 프레임 op writer의 출력·비용·실패 경계를 검증한다
- test(editor): audit merged search layout and current match
- perf(editor): coalesce adjacent search draw ops after stress measurement
- test(session-host): 무로그 판정자가 «있다» 만 재서 네 돌연변이가 살았다 — 문장 자리로 효과를 잰다
- fix(session-host): 로그 없이 끝나던 세 자리 — 업그레이드 handoff_failed·host 자연 종료·spawn 재시도의 거짓 폴백 줄
ohah/spinon
- docs: R06 근거 링크의 문서 빌드 오류 수정
- docs: 우선순위 주석에 공식 참고 문서 연결
- docs: 작업 우선순위 주석에 설계 명세 링크 추가
- test: 시뮬레이터 우선순위 검증 명령 추가
- feat: 실제 V8 우선순위 시뮬레이터 검증 추가
- docs: 런타임 검증 현황 동기화
- docs: 분리 후 iOS 런타임 검증 근거 갱신
- fix: FFI 경고 제거와 R06 재검증 기록
- refactor: 런타임 실행기 책임 분리
- feat(runtime): Chromium식 우선순위 큐 구현
- feat: V8 실행 세션과 플랫폼 수명주기 실험
- docs: R06 스레드·소유권 위험 분석 기록
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.