2026-09-03
요약 (AI 작성)
편집기 줄 조작이 들어온 날입니다 — 줄 조작 넷과 Enter 자동 들여쓰기, ⇧⌘K·Tab/⇧Tab(§3.9a). 편집 연산 캡처 훅으로 화면에 남는 결과를 재고, 상태바가 편집되는 문서를 「읽기 전용」이라 말하던 것을 고쳤으며, 「계약 안」 편집 보조 여섯이 닫혔습니다. @ohah/pdf 는 JPEG 을 푸는 값을 122ms 에서 52ms 로 줄였습니다 — 세 군데를 고쳤고, 걸림돌은 실제 바이트 잦기로 골랐습니다.
session-host 는 attestation action authority, exact draft asset 첨부·다운로드 검증·publish, published release attestation 검증, signed upgrade evidence v2, baseline product execution 과 runner workspace·child path 격리를 쌓았습니다. CI 는 공증이 릴리스를 거부한 원인 둘을 잡았습니다 — Resources 아래 감시자를 서명하지 않은 것, 떼어낸 main executable 에 건 codesign 검증. 소스 컨트롤은 원격이 바뀌면 도크가 스스로 갱신되고(RW3), S11-6 이 실기에서 처음 동작해 검증 행렬과 전달 규약을 적었습니다. Io.Dir 의 필드는 .fd 가 아니라 .handle 이라 main 이 깨져 있었습니다.
커밋
ohah/maru
- fix(agent-events): 커서를 파일 이름으로 보낸다 — tmux pane 에서 이어읽기가 통째로 안 먹었다
- feat(session-host): add attestation action authority
- test(session-host): drive attestation action authority
- docs(session-host): define attestation action authority
- fix(test): 옮긴 릴리스 워크플로 판정 둘이 원본보다 느슨했다 (적대적 검증)
- refactor(build): 릴리스 워크플로 계약을 셸에서 Zig 로 — 넷 중 하나
- feat(session-host): emit signed upgrade evidence v2
- test(session-host): drive canonical signed upgrade evidence
- docs(session-host): define signed upgrade evidence leaf
- feat(editor): 대소문자 변환 — 접기와 대칭인 짝을 세운다 (§3.9b)
- feat(session-host): verify published release attestation
- test(session-host): drive post-publish attestation authority
- docs(session-host): define post-publish attestation authority
- fix(ci): Resources 아래 감시자를 서명하지 않아 공증이 릴리스를 거부했다
- feat(scm): 원격이 바뀌면 도크가 스스로 갱신된다 (RW3)
- feat(session-host): emit signed app quit evidence
- test(session-host): drive signed app quit evidence
- docs(session-host): define signed app quit evidence leaf
- feat(session-host): own draft asset attachment state
- test(session-host): drive draft asset attachment authority
- docs(session-host): define draft asset attachment authority
- feat(scm): 감시자 네 변종을 번들에 싣는다 (RW2b)
- test(session-host): drive exact draft publication authority
- docs(session-host): define exact draft publication authority
- feat(session-host): publish exact validated draft
- feat(agent): 화면이 뒤집은 배지에 각주 표식을 붙인다 (§1.4)
- docs(session-host): 무엇이 왜 안 돌았는지와 남은 한계를 적는다 (S11-6)
- test(session-host): 값이 아니라 «자리» 를 세는 게이트를 단다 (S11-6)
- fix(session-host): 폰이 좁혀도 맥이 모르고 있었다 — 세 자리를 고친다 (S11-6)
- fix(session-host):
Io.Dir의 필드는.fd가 아니라.handle이다 — main 이 깨져 있었다 - fix(golden): 캡처가 낡았다는 사실을 먼저 말한다 — 사흘 묵은 그림을 회귀로 읽었다
- feat(editor): 줄 조작 넷과 Enter 자동 들여쓰기 —
⇧⌘K·Tab/⇧Tab(§3.9a) - docs(editor): 여러 뷰 축의 실측·선례를 원장으로 남긴다 — 병합 편집기·Split in Group 예약
- feat(session-host): attest authored release artifacts
- test(session-host): drive authored artifact attestation
- docs(session-host): define authored artifact attestation
- feat(session-host): validate redownloaded draft assets
- test(session-host): drive draft asset redownload authority
- docs(session-host): define draft asset redownload authority
- feat(session-host): bind preserved candidate app
- test(session-host): pin candidate app authority
- docs(session-host): define candidate app authority
- docs(scm): 무엇이 감시자를 깨우는지 실측으로 확정한다
- feat(session-host): isolate baseline runner workspace
- test(session-host): pin baseline runner workspace
- docs(session-host): define baseline runner workspace
- feat(session-host): 재접속이 한 바퀴도 못 도는 이유를 남긴다
- fix(session-host): 주석에서 incident owner 파일 이름을 뺀다 — 판정자가 그 이름을 센다
- docs(session-host): 콜드런치 비용을 실측해 적는다 — 「최대 수 초」는 상한이지 비용이 아니었다
- fix(scm): 읽기가 감시자를 깨우고 있었다 · 영구 실패는 포기한다 (RW5)
- feat(session-host): own baseline product execution
- test(session-host): pin baseline product owner
- docs(session-host): define baseline product owner
- feat(session-host): own baseline evidence transaction
- test(session-host): pin baseline evidence transaction
- docs(session-host): define baseline evidence transaction
- chore(editor): 편집 연산 캡처 훅 — 화면에 남는 결과를 잰다 (§3.9a·§3.9b)
- fix(session-host): 새 Term 을 만드는 것도 재시도 계기다 — 창을 새로 열어야만 복구되던 것을 메운다
- fix(session-host): host 연결 실패가 앱 세션을 영영 강등하지 않는다 — 30초 뒤 한 번 더 붙는다
- fix(session-host): 거절 관문이 누가 쥐고 있는지도 남긴다
- fix(agent): 관측이 stale 로 내려간 사유를 남긴다 — 지금은 통째로 삼킨다
- feat(session-host): preserve signed candidate artifacts
- test(session-host): drive signed candidate artifacts
- docs(session-host): define signed candidate artifacts
- feat(session-host): execute preserved signed candidate
- test(session-host): drive signed candidate app path
- docs(session-host): bind baseline gates to signed app
- feat(session-host): emit default false evidence
- test(session-host): drive default false evidence
- docs(session-host): define default false evidence leaf
- fix(session-host): 폰의 뷰포트 선언이 맥에 «닿지 않고» 있었다 — 관측자 control 이 소켓을 못 떠난다 (S11-6)
- docs: S11-6 이 실기에서 처음 동작했다 — 그 회차가 드러낸 것과 전달 규약
- fix(editor): 상태바가 편집되는 문서를 「읽기 전용」이라 말했다 (§2.2)
- fix(session-host): isolate baseline child paths
- test(session-host): pin isolated baseline child paths
- docs(session-host): define isolated baseline child paths
- fix(session-host): 먼저 죽은 자식은 그룹 실패가 아니다
- fix(mobile): 「아직 때가 아니다」를 실패로 접어 세션 화면 재진입이 죽었다
- feat(session-host): author candidate release manifest
- test(session-host): drive manifest authoring authority
- docs(session-host): define manifest authoring authority
- docs(scm): 원격 감시 계획에 진행 상태를 적는다 (RW2a 후속)
- feat(scm): 원격 감시자 설치 계약 — uname 판별·멱등 확인·심기 (RW2a)
- feat(session-host): run isolated baseline child
- test(session-host): pin baseline child runner
- docs(session-host): define baseline child runner
ohah/pdf
- perf: 걸림돌을 실제 바이트 잦기로 고른다
- perf: 찾을 말에서 드문 글자를 걸림돌로 삼는다
- perf: JPEG 색차 확대에서 온해상도 성분은 표를 건너뛴다
- perf: JPEG 을 푸는 값을 122ms 에서 52ms 로 — 세 군데를 고쳤다