2026-08-14

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

요약 (AI 작성)

maru에 네이티브 diff 본문(N1.5)을 세운 날입니다. §7을 고쳐 자체 differ로 가기로 하고 diff 줄 대응을 L2에 만든 뒤, 비교 요청을 화면 네 상태로 잇고 나란한 비교가 실제로 화면에 서게 했습니다(#2179). 검증은 손으로 고른 예제 대신 불변식을 무작위로 치는 방식으로 바꿨고, 적대적 검증 R3부터 R10까지 좁은 자리·네 상태 렌더·계약·실측 근거를 확인하고 최소성을 독립 판정자로 검증했습니다. 그 과정에서 줄 분할이 목록과 본문을 어긋나게 하던 구멍, 누수와 상한, 굳은 판정을 고쳤습니다. 앞서 포커스 테두리에 덮이던 첫 행과 스크롤바를 내용 여백으로 비키며 편집기 골든 22개를 다시 만들고, N1 상태를 실제와 맞추며 editor.wrap 배선을 끝냈습니다(#2166). 비교 본문에 색과 세로 스크롤을 얹는 #2189는 이날 PR이 열렸습니다.

소스 컨트롤 도크는 2판 설계를 확정하고 컴포넌트 렌더로 갈아탔습니다(#2172). 탭 3개·체크박스·쓰기를 담은 설계를 정한 뒤 목록을 2섹션·체크박스 모델로 바꿨다가(P1a) VS Code 모델로 되돌려 호버 + 스테이징 방식을 택했고, 행 모델을 무작위 status 입력으로 두들기는 적대적 검증을 거쳤습니다. 구현은 DTO·의도 표와 git 상태 색 토큰(P1b-1), 기하·paint(P1b-2), 컴포넌트 렌더 배선과 셀 그리드 제거(P1b-3) 순으로 올렸고, 목록을 목업에 맞춰 증감 색·종류 아이콘·행 테두리를 정리했습니다. 그룹 개수는 배지로 그리되 채운 색 칩으로 바꾸고 크기와 폭을 라벨에서 잡게 했습니다(#2187). 탭 줄을 붙이는 P1 마무리 #2196은 이날 열렸습니다. 스크롤 영역 문서는 이관 완료 상태를 사실대로 적고 변이 검증에서 드러난 판정자 한계를 남겼습니다(#2167).

session-host는 두 축으로 진행됐습니다. CR0b incident/poison publication 쪽은 전날 열린 기반 #2164를 병합하고, managed poison caller 배선(#2168)과 publication port 봉인(#2173)을 거쳐 prepared execution, allocator callback, read pump, outbound RPC ambiguity의 poison을 각각 발행하고 registered event poison은 지연 발행하게 했습니다. 재접속 쪽은 CR1 reconnect scheduler admission(#2183)을 넣고 RemoteGeneration owner를 추출한 뒤, CR2b stable screen proxy, CR2c input owner facade, CR2d의 remote input queue·ordered input transcript·stable event cursor를 쌓고 창 이동에도 stable 상태가 유지되게 했습니다(#2194). 전날 열린 SSH 수정 #2163도 병합돼 로컬 셸이 자기 세션을 원격으로 오판하지 않게 됐고, hostname 캐시를 걷어내고 원격 복사 경고를 스크립트에 두면서 판정 소비처 표와 문서를 전수로 맞췄습니다.

모바일 작업은 deploy/mobile 브랜치에서 이어졌고 main 반영은 아닙니다. 아틀라스가 차면 가장 안 쓰인 자리를 내주게 하고(#2170), VS16 결합을 컬러로 굽고, 앱으로서의 UX를 문서로 정했으며(#2175), 키보드가 덮는 만큼 레이아웃을 줄이고 보조 키바를 손가락 크기로 키워 가로 스크롤되게 했습니다(#2180). Android 프레임 주기를 vsync 세기에서 경과 시간 기준으로 바꾸는 #2186도 그 브랜치에 병합됐고, 설정 화면 PoC #2197은 이날 열렸습니다.

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

커밋

ohah/maru

PR (해당일 생성/머지)

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

저장소PR해당일 활동상태대상 브랜치제목
ohah/maru#2197생성merged기능 브랜치: deploy/mobilefeat(mobile): 설정 화면 PoC — 라우터로 밀고 44 로 세운다
ohah/maru#2196생성mergedmainfeat(file-panel): 소스 컨트롤 도크에 탭 줄을 붙인다 (P1 마무리)
ohah/maru#2195생성 · 병합merged기능 브랜치: deploy/mobilefix(mobile): 페이싱 표본을 헤더로 모으고 iOS 에도 워밍업을 준다
ohah/maru#2194생성 · 병합mergedmainfix(session-host): preserve stable state across window moves
ohah/maru#2193생성 · 병합mergedmainfeat(session-host): add CR2d3 stable event cursor
ohah/maru#2192생성 · 병합mergedmainfeat(session-host): add CR2d2 ordered input transcript
ohah/maru#2191생성 · 병합mergedmainfeat(session-host): add CR2d1 remote input queue
ohah/maru#2190생성 · 병합mergedmainfeat(session-host): add CR2c input owner facade
ohah/maru#2189생성mergedmainfeat(editor): 비교 본문에 색을 얹고 세로 스크롤을 붙인다 (N1.5 d + N1 잔여)
ohah/maru#2188생성 · 병합mergedmainfeat(session-host): add CR2b stable screen proxy
ohah/maru#2187생성 · 병합mergedmainfeat(chrome): 소스 컨트롤 그룹 개수를 배지로 그린다
ohah/maru#2186생성 · 병합merged기능 브랜치: deploy/mobilefix(mobile): Android 프레임 주기를 vsync 세기에서 경과 시간으로 바꾼다
ohah/maru#2185생성 · 병합mergedmainrefactor(session-host): extract RemoteGeneration owner
ohah/maru#2184생성 · 병합merged기능 브랜치: deploy/mobilefix(mobile): copy 를 상시로 바꾸며 죽은 판정을 걷어내고, U 축이 어디서 막혔는지 적는다
ohah/maru#2183생성 · 병합mergedmainfeat(session-host): add CR1 reconnect scheduler admission
ohah/maru#2182생성 · 병합mergedmainfeat(session-host): publish outbound RPC ambiguity incidents
ohah/maru#2181생성 · 병합mergedmainfeat(session-host): publish read pump poison incidents
ohah/maru#2180생성 · 병합merged기능 브랜치: deploy/mobilefeat(mobile): 보조 키바를 손가락 크기로 키우고 가로로 스크롤한다
ohah/maru#2179생성 · 병합mergedmainfeat(editor): N1.5 — 네이티브 diff 본문(줄 대응·네 상태·좌우 렌더)
ohah/maru#2178생성 · 병합mergedmainfeat(session-host): publish allocator callback poison
ohah/maru#2177생성 · 병합mergedmainfeat(session-host): defer registered event poison publication
ohah/maru#2176생성 · 병합merged기능 브랜치: deploy/mobilefix(mobile): 키보드가 덮는 만큼 레이아웃을 줄여 보조 키바를 살린다
ohah/maru#2175생성 · 병합merged기능 브랜치: deploy/mobiledocs(mobile): 앱으로서의 UX 를 화면·전환·비목표로 정한다
ohah/maru#2174생성 · 병합mergedmainfeat(session-host): publish prepared execution poison
ohah/maru#2173생성 · 병합mergedmainfeat(session-host): seal managed poison publication port
ohah/maru#2172생성 · 병합mergedmainfeat(file-panel): 소스 컨트롤 도크 2판 — VS Code 그룹 모델과 설계 확정 (P1a)
ohah/maru#2171생성 · 병합merged기능 브랜치: deploy/mobilefeat(mobile): 클러스터를 열째로 넘겨 VS16 결합을 컬러로 굽는다
ohah/maru#2170생성 · 병합merged기능 브랜치: deploy/mobilefix(mobile): 아틀라스가 차면 가장 안 쓰인 자리를 내준다
ohah/maru#2169생성 · 병합mergedmaindocs(session-host): specify managed poison caller two
ohah/maru#2168생성 · 병합mergedmainfeat(session-host): wire canonical managed poison caller
ohah/maru#2167생성 · 병합mergedmaindocs(scroll-area): 이관 완료 상태 정정과 변이 검증에서 드러난 판정자 한계
ohah/maru#2166생성 · 병합mergedmaindocs(editor): N1 상태를 실제와 맞추고 editor.wrap 배선을 끝낸다
ohah/maru#2165병합merged기능 브랜치: deploy/mobilefix(mobile): 번들 폰트에 없는 기호가 영구 공백이던 것을 채운다
ohah/maru#2164병합mergedmainfeat(session-host): CR0b incident publication 기반 구축
ohah/maru#2163병합mergedmainfix(ssh): 로컬 셸이 OSC 7 authority를 비워 자기 세션을 원격으로 오판하지 않는다