2026-07-30

요약 (AI 작성)

하루가 거의 통째로 session-host 의 외부 RX(수신) 경로를 봉인하는 데 들어갔습니다. 방식은 일관됩니다 — 게이트를 문서로 정의하고, 구현으로 봉인하고, 완료를 다시 문서에 표시하는 순환입니다. buffered RX traversal 을 분리·추출해 consume 과 연결하는 것에서 시작해 nonblocking RX read 기반, guarded RX admission, injected RX collector 와 RX pump 통합, one-shot RX drain 권위, whole-turn authority permit, RX prepare publication, POSIX external RX owner 까지 차례로 닫았습니다.

특히 실패·중단 경로를 콜백 없이 종결시키는 데 공을 들였습니다. terminal graph recovery seam 을 정의한 뒤 stopped RX graph 와 guarded RX admit 를 콜백 없이 종결시키고 실패한 RX turn 도 terminalize 하도록 했으며, RX turn 의 콜백 권위를 동결하고 드리프트 후 권위를 회복하는 경로, cleanup phase 전이 봉인, stopped RX guard 재검증 경화를 넣었습니다. prepared admit use permit 과 완료 후 permit 리셋 규칙도 함께 정했고, RX owner 권위를 하나로 통일하면서 buffered RX 기계를 별도로 추출했습니다.

그 밖에 에이전트 관측은 근거 좁히기를 문자열 매칭 대신 구조와 한 줄 모양 기준으로 바꾸고, 입력이 길어져도 idle 근거를 잃지 않게 고쳤으며 관측 근거를 상시 chrome 기준으로 문서에서 정정했습니다. 파일 패널의 리치 툴바는 React·Tailwind 로 옮겼습니다. zntc 에서는 #4596 JSX namespace 멤버가 미선언 참조가 되던 문제를 합성 import span 오염과 JSX 멤버 색인 누락 양쪽에서 고치고, 리뷰 지적을 받아 preserve 회귀를 제거하고 공허하던 테스트를 실질화했습니다.

커밋

ohah/maru

ohah/zntc

PR (해당일 생성/머지)

repo#상태제목
ohah/maru#1727mergedfeat(session-host): separate RX prepare publication
ohah/maru#1726mergedfeat(session-host): whole-turn authority permit 수명주기 봉인
ohah/maru#1725mergedfeat(session-host): wire POSIX external RX owner
ohah/maru#1724mergedfeat(session-host): RX pump one-shot drain authority 완성
ohah/maru#1723mergedrefactor(file-panel): 리치 툴바를 React·Tailwind로 옮깁니다
ohah/maru#1722mergedfeat(session-host): injected RX collector 구현
ohah/maru#1721mergedfeat(session-host): guarded RX admission 봉인
ohah/maru#1720mergedfeat(session-host): nonblocking RX read 기반 봉인
ohah/maru#1719mergedfix(agent): 입력이 길어져도 에이전트 idle 근거를 잃지 않게 합니다
ohah/maru#1718mergedrefactor(session-host): extract buffered RX traversal
ohah/maru#1717mergedfeat(session-host): buffered RX traversal과 consume 연결