2026-09-02

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

요약 (AI 작성)

@ohah/pdf가 색과 양식을 제대로 다루기 시작한 날입니다. ICC 색 프로파일을 읽어 색을 옮기니 53/255이던 값이 0.8로 맞았고, CMYK 그림이 통째로 어긋나던 것도 고치며 그림에도 ICC를 걸었습니다. 색차를 늘릴 때 네 이웃을 섞어 libjpeg과 5 안으로 맞췄고, Node에서도 그림을 그리며 JPEG은 엔진이 풀고 프로그레시브 JPEG도 풉니다. 문서가 준 자바스크립트를 자체 해석기로 돌려 관공서 양식이 살았고, 해석기를 실제 양식이 쓰는 만큼 넓혀 15개 중 7개에서 15개로 갔으며, 흐름 배치·자료만큼 되풀이·쪽 나눔·셈하는 칸을 갖춘 동적 XFA도 들어갔습니다.

maru는 폰이 알린 뷰포트로 세션 열이 실제로 줄고 떠나면 되돌아오게 했고(S11-6 3c-1, #3075), 폰이 자기 격자를 알려 전 구간이 이어졌으며(#3087), 폰이 세션을 좁히면 맥 상태줄이 아이콘과 함께 알리게 했습니다(#3106, #3120). 채널이 바뀌면 실어 둔 선언을 버리고, stdin 사정이 폰 화면을 끊지 않게 했습니다(#3069). 소스 컨트롤은 원격 저장소의 워크트리 행이 로컬 git으로 새던 것을 고친 뒤(#3089) 그 기계에서 읽고 쓰게 했고(RS5, #3093), 원격에서 바뀌면 알리는 감시자를 붙였습니다(RW1, #3124). 닿을 수 없는 원격 행이 매 프레임 소켓을 stat하던 것도 고쳤습니다. 컨트롤 플레인은 폰이 그 PC에 닿는 길로 터널은 사용자가 준비한다고 못 박고(#3083), 원격 relay 보류 결정을 적었습니다. 전날 열린 RA7 설계 #3055가 병합되면서 agent-events wire에 tmux pane 축도 실렸습니다.

편집기는 비교 뷰에서 어느 열을 검색 중인지 보이고 ⌥⌘D로 고르게 했습니다(#3096). Windows는 게이트의 마지막 빨강 셋을 닫아 mise run check가 처음으로 EXIT=0이 됐습니다(#3110). session-host는 앱이 다시 뜰 때마다 config generation을 1로 되돌려 host가 거절하던 것(#3078)과 뿌리가 지워지면 host를 영영 못 띄우던 것(#3082)을 고치고, scope가 깨지거나 재접속이 깨질 때 어느 축·전이인지 남기게 했습니다(#3054, #3118).

릴리스 권위 시리즈는 하루 종일 이어졌습니다. 여러 deadline 공유를 마친 뒤 pre-publish 작업 디렉터리·workspace root·phase 트랜잭션·제품 실행, published manifest 인증(#3095), predecessor verification 단계와 실행, release validator executable, workflow 권위 캡처, pre-draft candidate 바이트 attest, draft 생성 권위(#3103), candidate release 파일·제품·source tree·evidence identity, summary·evidence output inode, baseline과 upgrade evidence 게시, candidate compatibility(#3119)까지 쌓았습니다. candidate release manifest를 작성하는 #3125는 이날 PR이 열렸고, 이날 실제 릴리스가 나간 것은 아닙니다.

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

커밋

ohah/maru

ohah/pdf

PR (해당일 생성/머지)

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

저장소PR해당일 활동상태대상 브랜치제목
ohah/maru#3125생성mergedmainfeat(session-host): author candidate release manifest
ohah/maru#3124생성 · 병합mergedmainfeat(scm): 원격 감시자 — 저쪽에서 바뀌면 알린다 (RW1)
ohah/maru#3123생성 · 병합mergedmainfix(session-host): attest manifest release asset
ohah/maru#3122생성 · 병합mergedmaindocs: 팬은 「후속」이 아니라 없어진 일이다 — S11 문서를 코드에 맞춘다
ohah/maru#3121생성 · 병합mergedmainfeat(session-host): read held evidence input
ohah/maru#3120생성 · 병합mergedmainfeat(chrome): 상태줄의 폰 표시에 아이콘을 붙이고, 「그려지는가」를 처음으로 잰다 (S11-6)
ohah/maru#3119생성 · 병합mergedmainfeat(session-host): own candidate compatibility
ohah/maru#3118생성 · 병합mergedmainfeat(session-host): 재접속이 어느 전이에서 깨지는지 남긴다
ohah/maru#3117생성 · 병합mergedmainfeat(session-host): own upgrade evidence publication
ohah/maru#3116생성 · 병합mergedmaindocs(windows): 적대적 검증 5 회 — 내가 적은 주장 둘이 틀렸다
ohah/maru#3115생성 · 병합mergedmainfeat(session-host): bind predecessor evidence identity
ohah/maru#3114생성 · 병합mergedmainfeat(session-host): own baseline evidence publication
ohah/maru#3113생성 · 병합mergedmainfeat(session-host): own evidence output inode
ohah/maru#3112생성 · 병합mergedmainfeat(session-host): own published summary inode
ohah/maru#3111생성 · 병합mergedmainfeat(session-host): own candidate evidence identity
ohah/maru#3110생성 · 병합mergedmainfix(windows): 게이트의 마지막 빨강 셋을 닫는다 — mise run check 가 처음으로 EXIT=0
ohah/maru#3109생성 · 병합mergedmainfeat(session-host): own source tree authority
ohah/maru#3108생성 · 병합mergedmainfix(scm): 닿을 수 없는 원격 행이 매 프레임 소켓을 stat 하고 있었다 — 가드가 거꾸로였다
ohah/maru#3107생성 · 병합mergedmainfeat(session-host): own candidate product authority
ohah/maru#3106생성 · 병합mergedmainfeat(chrome): 폰이 세션을 좁히면 맥 상태줄이 말한다 (S11-6 3c-2②)
ohah/maru#3105생성 · 병합mergedmainfeat(session-host): own candidate release files
ohah/maru#3104생성 · 병합mergedmaindocs(ssh): host 를 적는 세 번째 자리를 표에 적는다 — 「빠졌다」로 읽히던 자리다
ohah/maru#3103생성 · 병합mergedmainfeat(session-host): own draft creation authority
ohah/maru#3102생성 · 병합mergedmainfeat(session-host): attest pre-draft candidate bytes
ohah/maru#3101생성 · 병합mergedmainfeat(session-host): capture release workflow authority
ohah/maru#3100생성 · 병합mergedmainfix(scm): 호스트가 바뀌어도 머리 줄 요약이 남아 있었다 — 버린다
ohah/maru#3099생성 · 병합mergedmainfeat(session-host): wire release validator executable
ohah/maru#3098생성 · 병합mergedmainfeat(session-host): wire predecessor verification execution
ohah/maru#3097생성 · 병합mergedmainfeat(session-host): own predecessor verification phase
ohah/maru#3096생성 · 병합mergedmainfeat(editor): 비교 뷰에서 어느 열을 검색 중인지 보이고 고른다 — ⌥⌘D (§5.1)
ohah/maru#3095생성 · 병합mergedmainfeat(session-host): authenticate published manifests
ohah/maru#3094생성 · 병합mergedmaindocs(session-host): 맥 사용자에게 무엇으로 알릴지 못박는다 — 상태줄, 추론 대신 조회 (S11-6)
ohah/maru#3093생성 · 병합mergedmainfeat(scm): 원격 저장소의 워크트리 행을 그 기계에서 읽고 쓴다 (RS5)
ohah/maru#3092생성 · 병합mergedmainfeat(session-host): wire pre-publish product execution
ohah/maru#3091생성 · 병합mergedmainfix(mobile): 채널이 바뀌면 실어 둔 선언을 버린다 — 남의 축에 실리면 안 된다 (S11-6)
ohah/maru#3090생성 · 병합mergedmainfeat(session-host): own pre-publish phase transaction
ohah/maru#3089생성 · 병합mergedmainfix(scm): 원격 저장소의 워크트리 행이 로컬 git 으로 샜다 — 읽기도 쓰기도
ohah/maru#3088생성 · 병합mergedmainfeat(session-host): own predecessor manifest input
ohah/maru#3087생성 · 병합mergedmainfeat(mobile): 폰이 자기 격자를 알린다 — S11-6 전 구간이 이어진다 (3c-2①)
ohah/maru#3086생성 · 병합mergedmaindocs: 원격 relay 보류 결정과 전송·인증 방향을 적는다
ohah/maru#3085생성 · 병합mergedmainfeat(session-host): share predecessor manifest deadline
ohah/maru#3084생성 · 병합mergedmainfix(boundary): exclude reference checkouts
ohah/maru#3083생성 · 병합mergedmaindocs(control-plane): 폰이 그 PC 에 «닿는» 길을 못박는다 — 터널은 사용자가 준비한다 (§4a)
ohah/maru#3082생성 · 병합mergedmainfix(session-host): 뿌리가 지워지면 앱이 host 를 영영 못 띄웠다 — 되살릴 코드에 닿지도 못했다
ohah/maru#3081생성 · 병합mergedmaintest(scm): §9.4 표의 컨트롤 플레인 행만 판정자가 안 보고 있었다
ohah/maru#3080생성 · 병합mergedmainfeat(session-host): own pre-publish workspace root
ohah/maru#3079생성 · 병합mergedmainfeat(session-host): bind pre-publish work directory
ohah/maru#3078생성 · 병합mergedmainfix(session-host): 앱이 다시 뜰 때마다 config generation 을 1 로 되돌려 host 가 영원히 거절했다
ohah/maru#3077생성 · 병합mergedmainfeat(session-host): share tag chain deadline
ohah/maru#3076생성 · 병합mergedmainfeat(session-host): share predecessor assets deadline
ohah/maru#3075생성 · 병합mergedmainfeat(session-host): 폰이 알린 뷰포트로 세션 열이 실제로 줄고, 떠나면 되돌아온다 (S11-6 3c-1)
ohah/maru#3074생성 · 병합mergedmainfeat(session-host): share predecessor manifest deadline
ohah/maru#3073생성 · 병합mergedmainfix(scm): 원격이면 미푸시 점이 호스트 글자 위에 얹혔다 — 제품 화면으로 잡았다
ohah/maru#3072생성 · 병합mergedmainfeat(session-host): share current compatibility deadline
ohah/maru#3071생성 · 병합mergedmainfeat(session-host): share current product deadline
ohah/maru#3070생성 · 병합mergedmainfeat(session-host): share current asset attestation deadline
ohah/maru#3069생성 · 병합mergedmainfix(session-host): stdin 사정이 폰 화면을 끊지 않는다 + 잘못 지키던 경계 게이트 (S11-6)
ohah/maru#3068병합mergedmainfeat(session-host): share manifest input deadline
ohah/maru#3055병합mergedmaindocs(plans): RA7 — 한 tmux 세션의 pane 여럿을 각각 드러낸다 (설계)
ohah/maru#3054병합mergedmainfix(session-host): scope 가 깨져 연결을 끊을 때 어느 축인지 남긴다