2026-09-02
요약 (AI 작성)
@ohah/pdf 가 색과 양식을 제대로 다루기 시작한 날입니다. ICC 색 프로파일을 읽어 색을 옮기니 53/255 이던 값이 0.8 로 맞았고, 색차를 늘릴 때 네 이웃을 섞어 libjpeg 과 5 안으로 맞췄으며, Node 에서도 그림을 그리고 JPEG 은 엔진이 풀고 프로그레시브 JPEG 도 풉니다. 문서가 준 자바스크립트를 자체 해석기로 돌려 관공서 양식이 살았고, 해석기를 실제 양식이 쓰는 만큼 넓혀 15개 중 7개에서 15개로 갔으며, 동적 XFA(흐름 배치·자료만큼 되풀이·쪽 나눔·셈하는 칸)도 들어갔습니다.
maru 는 폰이 알린 뷰포트로 세션 열이 실제로 줄고 떠나면 되돌아오며(S11-6 3c-1), 폰이 자기 격자를 알려 전 구간이 이어지고(3c-2①), 채널이 바뀌면 실어 둔 선언을 버립니다. 소스 컨트롤은 원격 저장소의 워크트리 행을 그 기계에서 읽고 씁니다(RS5) — 로컬 git 으로 새던 것을 잡고서입니다. 컨트롤 플레인은 폰이 그 PC 에 «닿는» 길을 못박았습니다: 터널은 사용자가 준비한다(§4a).
session-host 는 릴리스 권위 시리즈를 하루 종일 쌓았습니다 — published manifest 인증, predecessor verification phase, validator executable, workflow authority, draft creation, candidate release files·product·source tree·evidence identity·evidence output inode·compatibility, predecessor evidence identity, upgrade evidence publication, candidate release manifest 작성.
커밋
ohah/maru
- feat(session-host): wire pre-publish product execution
- test(session-host): drive pre-publish product execution
- docs(session-host): define pre-publish product execution
- feat(mobile): 폰이 자기 격자를 알린다 — S11-6 전 구간이 이어진다 (3c-2①)
- feat(session-host): authenticate published manifests
- test(session-host): drive published manifest authority
- docs(session-host): define published manifest authority
- feat(scm): 원격 저장소의 워크트리 행을 그 기계에서 읽고 쓴다 (RS5)
- feat(session-host): share current asset attestation deadline
- test(session-host): drive current asset attestation deadline
- docs(session-host): bind current asset attestation deadline
- fix(session-host): stdin 사정이 폰 화면을 끊지 않는다 + 잘못 지키던 경계 게이트 (S11-6)
- feat(session-host): share manifest input deadline
- test(session-host): drive manifest input deadline
- docs(session-host): bind manifest input deadline
- fix(session-host): scope 가 깨져 연결을 끊을 때 어느 축인지 남긴다
- feat(session-host): share current product deadline
- test(session-host): drive current product deadline
- docs(session-host): bind current product deadline
- feat(session-host): share current compatibility deadline
- test(session-host): drive current compatibility deadline
- docs(session-host): bind current compatibility deadline
- feat(session-host): share predecessor assets deadline
- test(session-host): drive predecessor assets deadline
- docs(session-host): bind predecessor assets deadline
- feat(session-host): share tag chain deadline
- test(session-host): drive tag chain deadline
- docs(session-host): bind tag chain deadline
- feat(session-host): 폰이 알린 뷰포트로 세션 열이 실제로 줄고, 떠나면 되돌아온다 (S11-6 3c-1)
- feat(session-host): bind pre-publish work directory
- test(session-host): drive pre-publish work directory
- docs(session-host): require pre-publish work directory
- fix(scm): 원격이면 미푸시 점이 호스트 글자 위에 얹혔다 — 제품 화면으로 잡았다
- feat(session-host): share predecessor manifest deadline
- test(session-host): drive predecessor manifest deadline
- docs(session-host): bind predecessor manifest deadline
- test(scm): §9.4 표의 컨트롤 플레인 행만 판정자가 안 보고 있었다
- feat(session-host): own pre-publish workspace root
- test(session-host): drive pre-publish workspace owner
- docs(session-host): define pre-publish workspace owner
- docs(control-plane): 폰이 그 PC 에 «닿는» 길을 못박는다 — 터널은 사용자가 준비한다 (§4a)
- fix(boundary): exclude reference checkouts
- test(boundary): drive reference checkout exclusion
- docs(boundary): define reference checkout exclusion
- docs: 원격 relay 보류 결정과 전송·인증 방향을 적는다
- feat(session-host): own candidate compatibility
- test(session-host): drive candidate compatibility authority
- docs(session-host): define candidate compatibility authority
- feat(session-host): own baseline evidence publication
- test(session-host): drive baseline evidence authority
- docs(session-host): define baseline evidence authority
- feat(session-host): attest pre-draft candidate bytes
- test(session-host): drive pre-draft candidate attestation
- docs(session-host): define pre-draft candidate attestation
- feat(session-host): capture release workflow authority
- test(session-host): drive release workflow authority capture
- docs(session-host): define release workflow authority capture
- feat(session-host): share predecessor manifest deadline
- test(session-host): drive predecessor manifest deadline
- docs(session-host): bind predecessor manifest deadline
- feat(chrome): 폰이 세션을 좁히면 맥 상태줄이 말한다 (S11-6 3c-2②)
- feat(session-host): own draft creation authority
- test(session-host): drive draft creation authority
- docs(session-host): define draft creation authority
- feat(session-host): own candidate release files
- test(session-host): drive candidate file authority
- docs(session-host): define candidate file authority
- feat(session-host): own candidate product authority
- test(session-host): drive candidate product authority
- docs(session-host): define candidate product authority
- fix(scm): 닿을 수 없는 원격 행이 매 프레임 소켓을 stat 하고 있었다 — 가드가 거꾸로였다
- fix(scm): 호스트가 바뀌어도 머리 줄 요약이 남아 있었다 — 버린다
- feat(session-host): wire release validator executable
- test(session-host): drive release validator executable
- docs(session-host): define release validator executable
- docs(ssh): host 를 적는 세 번째 자리를 표에 적는다 — 「빠졌다」로 읽히던 자리다
- docs(editor): 선례와 갈린 자리를 적는다 — VSCode 는 열마다 찾기 상자다 (§5.1)
- feat(editor): 비교 뷰에서 어느 열을 검색 중인지 보이고 고른다 —
⌥⌘D(§5.1) - feat(session-host): wire predecessor verification execution
- test(session-host): drive predecessor verification execution
- docs(session-host): define predecessor verification execution
- docs(plans): RA7 저장 위치 — 셋을 각각 공격하고 ⓒ 만 남았다
- docs(plans): RA7 — pane 별 상태를 어디에 두는가 (실측 근거로 결정)
- feat(agent-events): wire 에 tmux pane 축을 싣는다 (RA7 — 결정 반영)
- docs(plans): RA7 — 한 tmux 세션의 pane 여럿을 각각 드러낸다 (설계)
- docs(session-host): 맥 사용자에게 무엇으로 알릴지 못박는다 — 상태줄, 추론 대신 조회 (S11-6)
- fix(session-host): 앱이 다시 뜰 때마다 config generation 을 1 로 되돌려 host 가 영원히 거절했다
- fix(scm): 원격 저장소의 워크트리 행이 로컬 git 으로 샜다 — 읽기도 쓰기도
- feat(session-host): own predecessor verification phase
- test(session-host): drive predecessor verification phase
- docs(session-host): define predecessor verification phase
- feat(session-host): own published summary inode
- test(session-host): require owned summary publication
- docs(session-host): specify owned summary publication
- feat(session-host): own candidate evidence identity
- test(session-host): drive candidate evidence identity
- docs(session-host): define candidate evidence identity
- feat(session-host): own source tree authority
- test(session-host): drive source tree authority
- docs(session-host): define source tree authority
- feat(session-host): own evidence output inode
- test(session-host): require owned evidence output
- docs(session-host): define evidence output owner
- fix(mobile): 채널이 바뀌면 실어 둔 선언을 버린다 — 남의 축에 실리면 안 된다 (S11-6)
- docs(session-host): «/tmp 정리는 수명 계약과 충돌하지 않는다» 는 틀렸다
- fix(session-host): 뿌리가 지워지면 앱이 host 를 영영 못 띄웠다 — 되살릴 코드에 닿지도 못했다
- feat(session-host): own predecessor manifest input
- test(session-host): drive predecessor manifest input
- docs(session-host): define predecessor manifest input
- feat(session-host): own pre-publish phase transaction
- test(session-host): drive pre-publish phase transaction
- docs(session-host): define pre-publish phase transaction
- feat(session-host): own predecessor evidence identity
- test(session-host): drive predecessor evidence identity
- docs(session-host): define predecessor evidence identity
- docs(windows): 적대적 검증 5 회 — 내가 적은 주장 둘이 틀렸다
- docs(verification): S11-6 행이 「3c 미구현」에 멈춰 있었다
- docs(ssh): 로드맵에 없던 축을 적는다 — S11-8 폰 뷰포트 선언
- docs(ssh): 세로는 «푼다» 가 아니라 «안 줄이기로 정했다» 다
- docs(ssh): 팬은 「후속」이 아니라 없어진 일이다 — S11 남은 것을 U2 하나로 줄인다
- feat(session-host): own upgrade evidence publication
- test(session-host): drive upgrade evidence authority
- docs(session-host): define upgrade evidence authority
- feat(chrome): 상태줄의 폰 표시에 아이콘을 붙이고, 「그려지는가」를 처음으로 잰다 (S11-6)
- feat(session-host): 재접속이 어느 전이에서 깨지는지 남긴다
- test(session-host): terminal summary 진단이 늘린 ledger 참조를 경계 재고에 반영한다
- fix(session-host): attest manifest release asset
- test(session-host): require manifest release subject
- docs(session-host): bind manifest release subject
- feat(scm): 원격 감시자 — 저쪽에서 바뀌면 알린다 (RW1)
- feat(session-host): read held evidence input
- test(session-host): drive held evidence input
- docs(session-host): define held evidence input
- fix(windows): 게이트의 마지막 빨강 셋을 닫는다 —
mise run check가 처음으로 EXIT=0
ohah/pdf
- docs: 첫 문서 값이 어디서 오는지 자에 적어 둔다
- fix: 글꼴을 다시 짤 때 자리를 필요한 만큼만 떼어 준다
- fix: CMYK 그림이 통째로 어긋나던 것 — 그리고 그림에도 ICC 를 건다
- feat: ICC 색 프로파일을 읽어 색을 제대로 옮긴다 — 53/255 에서 0.8 로
- feat: 해석기를 실제 양식이 쓰는 만큼 넓힌다 — 15개 중 7개에서 15개로
- feat: 문서가 준 자바스크립트를 우리 해석기로 돌린다 — 관공서 양식이 산다
- fix: 색차를 늘릴 때 네 이웃을 섞는다 — libjpeg 과 5 안으로 맞았다
- feat: 프로그레시브 JPEG 도 푼다
- feat: 동적 XFA — 흐름 배치·자료만큼 되풀이·쪽 나눔·셈하는 칸
- feat: Node 에서도 그림을 그린다 — JPEG 은 엔진이 푼다
- perf: 타일 무늬를 한 판만 내고 되풀이는 캔버스에 맡긴다
- test: 메모리 표에 흔들림 폭을 함께 찍는다