2026-08-31
요약 (AI 작성)
zntc v0.1.5 와 v0.1.6 이 나간 날입니다. 한 줄 블록 안 주석 뒤 소스맵이 한 줄씩 밀리던 것을 고치고, bun.lock 동기화를 PR 로 내며, 릴리스가 만든 CHANGELOG 를 oxfmt 형식에 맞췄습니다. @ohah/pdf 는 하루에 크게 자랐습니다 — 문서 정보 넷(권한·쪽 라벨·열 때 설정·지문), 종류 가리지 않는 주석 걷기와 얹어서 다룰 수 있는 주석 층, 이름 목적지·뷰어 설정·XMP, 표준 14종 글꼴의 AFM 자간, 주소로 열기와 내려받기 진행률, 글자 덩이와 구조 나무, 뷰어에 아쉽던 넷(렌더 취소·뷰포트·글자층·렌더 옵션), Node.js 지원. 여는 값은 34MB 기준 417ms 에서 120ms 로 줄었고, 갱신이 얹힌 암호 문서와 trailer 로 좁히며 놓칠 뻔한 결함을 잡았습니다.
maru 는 소스 컨트롤이 원격 pane 을 알기 시작했습니다 — 원격 pane 이 활성이면 그 저장소를 읽습니다(RS1·RS2). 원격 이벤트가 행을 «에이전트 행» 으로 바꾸고, HOME 이 상대경로면 abort 하던 것과 pid 를 posix 로 물어 Windows 빌드가 죽던 것을 고쳤습니다. 이미지 갤러리는 디코드를 틱에서 풀고 크게 보기를 뷰포트만큼만 풉니다(IG14·IG15). session-host 는 GitHub API·CLI 와 Apple command transport 를 bound 로 묶고, DMG·attestation·predecessor release 권위를 세우고 predecessor manifest 를 인증합니다. Windows 는 카드를 펼치면 대화가 뜨고(W8.22), ssh 원격 셸 규율은 네 곳이 나란히 틀려 한 곳으로 모았습니다.
커밋
ohah/maru
- docs(scm): PATH 처방을 §2.2 계약에 올리고, 적대적 검증 회차 순서를 되돌린다
- fix(scm): 원격 명령에 PATH 처방을 깐다 — 그리고 놓친 호출부를 채운다 (RS3 후속)
- fix(scm): 비활성 저장소 행에 원격 표식이 박혔다 (RS3 적대적 검증 8회차)
- feat(scm): 브랜치 줄이 «어느 기계의 목록인가» 를 말한다 (RS3b)
- fix(scm): 적대적 검증이 원격 비교의 구멍 둘을 뚫었다 (RS3a 후속)
- feat(scm): 원격 비교를 연다 — 작업트리 쪽은 git 이 못 읽어 파일을 직접 읽는다 (RS3a)
- feat(session-host): own predecessor download authority
- test(session-host): drive predecessor download authority
- docs(session-host): define predecessor download authority
- feat(session-host): bootstrap predecessor manifests
- test(session-host): drive predecessor manifest bootstrap
- docs(session-host): define predecessor manifest bootstrap
- fix(file-explorer): 자동 root 전환은 제출이 실패해도 재시도로 남긴다
- feat(file-explorer): 탐색기 root 가 활성 pane 터미널 cwd 를 그대로 따라간다
- docs(file-explorer): 탐색기 root 를 활성 터미널 cwd 와 같게 둔다
- docs(plans): 네 시각을 한 파일로 재 적는다 —
ctime은 creation 이 아니고, 계약의 「범위 밖」 하나를 지운다 - docs(plans): AT3b 를 macOS 전용으로 확정하고, 그 안에서 ctime 스캔을 1차로 둔다
- docs(plans): 드롭 보정을 실측한다 — 쓸 수 있지만 계약의
mtime은 계약 자신의 PoC 를 놓친다 - docs(plans): tree 제거 논증에도 철회 표시를 단다 — 앞 커밋에서 빠뜨렸다
- docs(plans): 내 논증 하나를 철회한다 — 계약이 드롭 보정을 이미 설계해 뒀다
- docs(plans): 다른 앱들의 대처를 조사해 적는다 — 그 표준이 AT3b 에는 그대로 안 옮겨진다
- docs(plans): 「재생으로 따라잡기」를 접는다 — 저널 지연이 5~10초라 구간 유예 0.2초와 안 맞는다
- docs(plans): 원인을 좁힌다 — TCC 아님(근거 교체), 저널은 살아 있고 실시간 푸시만 막혔다
- docs(plans): FSEvents 는 설계상 손실이 있다 — tree 제거의 전제가 흔들리고, 앞선 TCC 결론을 정정한다
- fix(windows): 스크롤바가 안 보였다 — 폭 0 짜리 테두리 때문에 quad 를 통째로 버렸다
- fix(session-host): protect test workspace state
- test(session-host): require workspace isolation
- docs(session-host): isolate test workspace state
- fix(agent-hooks): 신원이 안 온 tmux pane 도 적는다 — RA6 이 오염의 절반만 봤다
- fix(config): 고스티 프리셋에서 선택해도 티가 안 났다 — 배경 대비 1.40
- ci(session-host): raise debug completion budget
- test(ci): require session host debug budget
- docs(ci): define session host debug budget
- fix(editor): 심볼 라벨이 넘칠 때 이름의 앞부분이 사라졌다 — 두 단계로 자른다 (§7.5)
- feat(editor): 파일 안 심볼을 필터해 그 자리로 간다 — 심볼 검색 오버레이 (§7.5)
- fix(image-gallery): 적대적 검증이 찾은 그리기 결함 둘 + 결정을 순수 함수로 가른다
- feat(image-gallery): 크게 보기에 「그때 무슨 얘기였나」를 띄운다 (IG13)
- fix(build): pid 게이트가
getCurrentId계약을 따라간다 — main 이 빨갰다 - ci(session-host): 실물 스모크 셋을 PR 에서 뺀다 — 무관한 PR 을 막아 왔다
- fix(editor): 형제 피커 프롬프트가 관계가 아니라 부모 이름을 말한다 (§7.5)
- fix(session-host): E3c 마커를 40회 재고 성능 계약을 프레임 턴으로 옮긴다
- fix(windows): SCM 목록 원문의 출처가 둘이었다 — 적대적 검증 5회가 못 실린 채 머지됐다
- fix(agent): 훅 턴 시각 판정을 클럭 해상도에서 떼어낸다
- fix(chrome): danger_text 를 밝은 프리셋에서도 읽히게 한다
- feat(session-host): own release DMG authority
- test(session-host): drive release DMG authority
- docs(session-host): define release DMG authority
- test(file-panel): 트리 클립을 픽셀이 실제로 재도록 고친다
- test(file-panel): 트리가 위 chrome 을 새는지 픽셀로 본다
- feat(windows): 카드를 펼치면 대화가 뜬다 — 눌리는데 안 그려지던 컨트롤
- feat(session-host): bound Apple command transport
- test(session-host): require Apple command transport
- docs(session-host): define Apple command transport
- fix(chrome): Lab 이 구문 파싱을 끝까지 판 뒤에 색을 뜬다
- fix(editor): 예산 배선을 시간이 아니라 구조로 잰다 (ES21·ES22·ES37)
- fix(session-host): wake 지연 예산이 러너가 아니라 코드를 재게 한다
- test(agent): 보내기 메뉴 골든을 종류 기호에 맞춘다
- feat(agent): 보내기 대상 줄에 종류 기호와 pane 이름을 세운다
- style(editor): 진단 로그 인자 정렬을 zig fmt 에 맞춘다
- diag(editor): 클릭이 푼 자리를 스냅숏 신선도와 함께 남긴다
- fix(session-host): 자식을 마감 없이 기다려 CI 잡이 32분 매달렸다
- fix(editor): 되풀기의
null은 범위 밖만 뜻한다 — 중복을 없애며 동작이 갈렸다 - fix(editor): 접으면 하이라이트가 밀렸다 — 색만 문서 축에 남아 있었다
- feat(session-host): bind GitHub CLI authority
- test(session-host): require GitHub CLI authority
- docs(session-host): define GitHub CLI authority
- feat(session-host): bound GitHub API transport
- test(session-host): require bounded GitHub transport
- docs(session-host): define GitHub API transport
- test(file-panel): 적대적 검증이 판정자의 구멍 셋을 메운다
- fix(file-panel): 트리 라벨이 스크롤 뷰포트 밖으로 샜다 — 반쯤 걸친 행이 뷰 바 위에 그려졌다
- fix(chrome): Lab 캡처가 제품과 같은 UV 재정규화를 지난다 — 잘린 글자가 찌그러져 있었다
- fix(image-gallery): 계수기를 걷다 남긴 빈 함수를 지운다
- perf(image-gallery): 크게 보기를 뷰포트만큼만 풀고 확대할 때 올린다 (IG15)
- perf(image-gallery): 디코드를 틱에서 풀어 격자가 3틱에 찬다 (IG14)
- fix(agent): 마지막으로 보낸 대상을 다시 읽는다 — 저장만 하고 있었다
- feat(session-host): bind Apple product observation
- test(session-host): require Apple product observation
- docs(session-host): define Apple product observation
- feat(session-host): publish canonical evidence files
- test(session-host): require evidence file publication
- docs(session-host): define evidence file publication
- feat(session-host): bind canonical release evidence
- test(session-host): require canonical release evidence
- docs(session-host): define release evidence profiles
- feat(session-host): own artifact attestation authority
- test(session-host): drive artifact attestation authority
- docs(session-host): define artifact attestation authority
- feat(session-host): own release attestation authority
- test(session-host): drive release attestation authority
- docs(session-host): define release attestation authority
- feat(editor): 심볼로 가는 키가 생겼다 —
⇧⌘O(§7.5) - feat(editor): 보내기 메뉴가 대상과 보낼 것을 실제로 말한다 (NS7~NS9)
- feat(windows): 소스 컨트롤 목록도 굴러간다
- fix(session-host): E3c 판정을 조건마다 갈라 이름을 준다
- fix(scm): 원격 PATH 처방이 로그인 셸을 POSIX 로 가정하고 있었다 (적대적 검증 1회차)
- fix(session-host): bind documented deployment states
- test(session-host): reject invented deployment authority
- docs(session-host): correct deployment status authority
- feat(session-host): own predecessor manifest files
- test(session-host): drive predecessor manifest file authority
- docs(session-host): define predecessor manifest file authority
- feat(session-host): authenticate predecessor manifests
- test(session-host): drive predecessor manifest attestation
- docs(session-host): define predecessor manifest attestation composition
- feat(mobile): 원격 화면이 색과 커서를 그린다 (S11)
- feat(windows): 소스 컨트롤 막대도 잡힌다
- test(session-host): P4 E2c 는 가라앉음이 검증된 뒤부터 센다
- feat(windows): 스크롤바를 잡아 끈다 — 드래그는 intent 가 아니라 DragEvent 로 온다
- docs(file-explorer): ET-CWD 를 실제 앱에서 확인한 결과를 적는다
- fix(agent-hooks): HOME 이 상대경로면 앱이 abort 했다 — main 이 그 상태로 빨갰다
- fix(image-gallery): 갤러리가 활성 pane 을 따라간다 — 그 훅이 아예 없었다
- ci: 종료 스모크가 실패해도 앱 로그를 안 찍어 원인이 사라졌다
- chore(i18n): lab scm-blocker 픽스처 한글 두 줄을 원장에 올린다
- fix(chrome): 막힘 글자가 흰색으로 그려졌다 — 면 없는 붉은 role 을 세운다
- fix(scm): 막힌 이유가 어느 저장소 것인지 화면에서 안 이어졌다
- fix(build): pid 를 posix 로 물어 Windows 빌드가 통째로 죽었다
- feat(editor): 체인 항목을 누르면 형제 심볼이 뜬다 (§7.5)
- fix(scm): K3 경계가 cwd 축 재고 줄 전체를 대조하고 있었다 — 커널 축 둘만 본다
- fix(scm): cwd 축 재고에
remoteScmTarget을 올리고, 놓친 호출부를 채운다 (RS2 후속) - feat(scm): 원격 pane 이 활성이면 그 저장소를 읽는다 — 그리고 로컬에 손이 안 가게 막는다 (RS2)
- feat(scm): 원격 저장소를 부를 argv 를 만든다 — 셸을 거치는 유일한 자리를 좁힌다 (RS1)
- feat(session-host): bind release environment deployment
- test(session-host): require release deployment binding
- docs(session-host): define release deployment binding
- fix(agent-hooks): 원격 이벤트가 행을 «에이전트 행» 으로 바꾼다 — 상태만 채우고 있었다
- ci: macOS 전용 게이트 열셋이 CI 어디에서도 안 돌고 있었다
- fix(build):
G2필터가 이미지 갤러리 판정자 아홉 개를 함께 끌어왔다 - fix(session-host): isolate product test children
- test(session-host): require product test isolation
- docs(session-host): isolate product test namespace
ohah/pdf
- chore: 번들 시험이 흘린 worker 청크를 지웠다
- build: zntc 0.1.5 로 올렸다 — 소스맵 두 고침이 담긴 판
- build: zntc 0.1.6 — 소스맵 우회를 걷어냈다
- docs: 비교표에 이번에 채운 넷을 반영
- feat: 문서 정보 넷 — 권한·쪽 라벨·열 때 설정·지문
- feat: 주석을 종류 가리지 않고 걷는다 (annotations)
- feat: 이름 목적지·뷰어 설정·XMP
- refactor: 코드가 내는 메시지를 영어로
- feat: 표준 14종 글꼴의 자간을 정확히 (AFM 폭 표)
- feat: 주소로 열기와 내려받기 진행률
- feat: 글자 덩이 정보와 구조 나무
- feat: 주석 층 — 얹어서 다룰 수 있게 한다
- feat: 뷰어에 아쉽던 넷을 메웠다 — 렌더 취소·뷰포트·글자층·렌더 옵션
- fix: 코드 리뷰에서 나온 그리기·서명·양식 결함 일곱
- fix: 엔진 리뷰가 잡은 여섯 가지
- fix: Node 에서 문서를 두 개 열면 앞 문서가 망가지던 것
- fix: 갱신이 얹힌 암호 문서를 안 잠긴 문서로 읽던 것
- fix: trailer 로 좁히면서 놓칠 뻔한 두 가지
- perf: 여는 값을 34MB 기준 417ms → 120ms 로
- test: 눌러 담은 문서도 벤치에 넣는다
- test: 크기를 바꿔 가며 재도록 벤치 목록을 넓힌다
- test: 목차가 깨진 파일도 나란히 재 본다
- fix: 쪽 수 상한을 없애고, 병합이 쪽을 잘라 먹던 것을 고친다
- test: pdf.js 와 속도를 나란히 재는 자리
- feat: Node.js 에서도 돌게
ohah/zntc
- fix(codegen): 소스맵 열을 UTF-16 단위로 센다
- docs: ZNTC0107 에러 문서 동기화
- fix(codegen): 한 줄 블록 안 주석 뒤 소스맵이 한 줄씩 밀리던 것
- chore: release v0.1.5
- ci(release): 자동으로 연 lockfile PR 에 오토머지를 건다
- ci(release): bun.lock 동기화를 PR 로 낸다
- chore: bun.lock post-publish 동기화 — v0.1.5 플랫폼 바이너리 npm refs
- fix(cli): transpile 소스맵을 출력 자리에 맞춰 마무리한다
- chore: release v0.1.6
- fix: 잘못 커밋된 node_modules 심볼릭 링크를 지운다
- fix: bun.lock 에 빠진 win32-x64 항목을 채우고, 색인 대기를 9개 전부로
- fix(ci): 릴리스가 만든 CHANGELOG 를 oxfmt 형식으로 맞춘다