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
- docs(session-host): mark RX prepare gate complete
- feat(session-host): separate RX prepare publication
- docs(session-host): mark authority lifecycle gate complete
- feat(session-host): seal whole-turn authority permits
- docs(session-host): define whole-turn authority gate
- docs(session-host): mark POSIX RX product gate complete
- feat(session-host): wire POSIX external RX owner
- docs(session-host): define POSIX RX product closure
- test(session-host): quiesce takeover fixture output
- docs(session-host): mark RX drain matrix implemented
- feat(session-host): seal one-shot RX drain authority
- docs(session-host): authenticate RX drain seed transitions
- docs(session-host): define one-shot RX drain authority
- fix(session-host): terminalize failed RX turns
- feat(session-host): terminalize stopped RX graph without callbacks
- feat(session-host): terminalize guarded RX admit without callbacks
- docs(session-host): define terminal graph recovery seams
- fix(session-host): freeze RX turn callback authority
- fix(session-host): recover callback authority after drift
- fix(session-host): seal RX cleanup phase transitions
- docs(session-host): harden C4 terminal authority
- docs(session-host): mark C4 pump integration complete
- feat(session-host): integrate injected RX pump
- feat(session-host): reset finished RX admit permits
- docs(session-host): require prepared permit reset
- feat(session-host): seal prepared RX admit use
- docs(session-host): define prepared admit use permit
- docs(session-host): define guarded cleanup authority
- fix(session-host): harden stopped RX guard revalidation
- docs(session-host): align C4 ownership status
- refactor(session-host): unify RX owner authority
- feat(session-host): seal stopped RX use lifecycle
- refactor(session-host): extract buffered RX mechanics
- docs(session-host): define RX pump integration contract
- fix(agent): 근거 좁히기를 문자열 대신 구조·한 줄 모양으로 바꿉니다
- fix(agent): 입력이 길어져도 idle 근거를 잃지 않게 합니다
- docs(agent): 관측 근거를 상시 chrome 기준으로 정정합니다
- refactor(file-panel): 리치 툴바를 React·Tailwind로 옮깁니다
- feat(session-host): implement injected RX collector
- docs(session-host): close RX collector contract
- feat(session-host): seal guarded RX admission
- docs(session-host): harden guarded admit callback rules
- docs(session-host): define guarded RX admit contract
- feat(session-host): seal nonblocking RX read foundation
- docs(session-host): define nonblocking rx read gates
- refactor(session-host): extract buffered rx traversal
- docs(session-host): seal rx traversal split contract
- feat(session-host): consume buffered external rx
- docs(session-host): define buffered RX traversal gate
ohah/zntc
- fix(bundler): #4596 code-review max 지적 반영 — preserve 회귀 제거 + 테스트 비공허화
- fix(bundler): #4596 JSX namespace 멤버 미선언 참조 — 합성 import span 오염 + JSX 멤버 색인 누락