2026-08-28
요약 (AI 작성)
편집기에 구문 트리 1층이 선 날입니다 — tree-sitter 배선과 판정자(N4 §5.3). session-host 는 checkpoint 를 둘러싼 결정이 오갔습니다: 복원 중·종료 중에는 쓰지 않고(R7-0), 실패 시 Quit 을 취소하며, 두 번째 checkpoint coordinator 는 되돌렸습니다(P4 C3-1). poison 사유가 갈리면 앱을 죽이던 자리, 알림을 물어보는 값이 공짜가 아니게 됐는데 호출부가 그대로였던 것, 원격 출력에 AppKit 을 깨우는 것, foreground metadata generation 보존을 고쳤고, P4 게이트 현황을 코드·실측으로 다시 적었습니다. 상태바는 영속성이 깨진 동안 그 사실을 화면에 남깁니다.
Windows 는 에이전트 도크 검색(W8.15 의 나머지)이 들어갔고, 계획서가 "무엇이 남았나" 의 단일 출처이기를 그만둔 것을 되돌렸습니다. ssh 테스트가 CPU 를 태우는 고아를 남기던 것도 잡았습니다.
커밋
ohah/maru
- fix(session-host): preserve metadata cadence while screen is idle
- perf(session-host): gate idle screen projection by events
- docs(session-host): specify event-driven producer gates
- docs(session-host): 쓰기 소유자·저장 경로를 실제 배치로 맞춘다
- fix(build): 죽은 테스트 이름을 필터에서 뺀다
- revert(session-host): 두 번째 checkpoint coordinator 를 되돌린다 (P4 C3-1)
- docs(windows): §2m.78 — 세션 닫기 적대적 검증 5회
- test(windows): 적대적 검증 4회차 — 거절 경로 판정이 동어반복이었다
- test(windows): 적대적 검증 3회차 — 연달아 닫아도 불변식이 버티는지 잰다
- fix(windows): 적대적 검증 2회차 — 닫은 뒤에 + 가 죽었다(id 재사용)
- fix(windows): 적대적 검증 1회차 — 앞쪽 세션을 닫으면 보고 있던 세션이 바뀌었다
- docs(windows): 계획서 W8.16 칸에서 셸이 먹은 낱말 하나를 되돌린다
- docs(windows): §2m.77 — 세션 닫기, "결정 대기" 는 덜 읽고 적은 표시였다
- feat(windows): 세션 카드의 ✕ — 계약이 정한 절반까지
- fix(session-host): preserve foreground metadata generation
- test(session-host): require foreground consumer parity
- docs(session-host): define foreground consumer parity gate
- docs(windows): §2m.74 — ✕ 닫기, 그리고 열 배치가 갈려 있던 것
- feat(windows): 파일 카드의 ✕ 가 눌린다 — 그리고 열 배치를 중립으로 모았다
- docs(windows): 계획서가 "무엇이 남았나"의 단일 출처이기를 그만뒀다 — 되돌린다
- fix(mobile): 새 연결에서 남은 요청과 셸에 실리는 runtime id
- fix(ssh): 끊긴 자리에서 입력 모드를 되돌린다 — 재접속한 셸에 마우스 리포트가 쏟아졌다
- perf(session-host): 알림을 물어보는 값이 공짜가 아니게 됐는데 호출부가 그대로였다
- docs(windows): §2m.76 — 에이전트 검색, 그리고 안 재고 쓴 문장 하나를 갚는다
- feat(windows): 에이전트 도크 검색 — W8.15 의 나머지
- test(session-host): settle metadata sources before idle budget
- docs(session-host): align event-driven producer status
- perf(session-host): gate metadata production by runtime events
- docs(session-host): specify event-driven metadata sampler
- fix(cli): ssh 테스트가 CPU 를 태우는 고아를 남겼다
- test(session-host): verify duplicate checkpoint preservation
- feat(mobile): 폰이 원격 화면 레코드를 조립한다 (S11-5)
- fix(session-host): separate idle CPU from runner delay
- perf(session-host): wake AppKit on remote output
- test(session-host): require client idle pump evidence
- docs(session-host): specify client idle pump evidence
- fix(ssh): 스모크가 띄운 sshd 가 며칠씩 살아남았다 — 새는 자리 둘을 함께 막는다
- fix(ssh): 테스트 하네스가 자식 셸을 못 거두고 waitpid 에서 영영 멈추던 것을 고친다
- test(editor): 적대적 검증 3회를 더 돌린다 — Linux 축과 골든 목록을 연다
- test(editor): 구문 판정자를 적대적 검증 3회로 두들긴다 — 여덟으로 늘었다
- feat(editor): 구문 트리 1층이 선다 — tree-sitter 배선과 판정자 (N4 §5.3)
- fix(session-host): isolate screen inbox overflow recovery
- fix(session-host): restore 경로만 옛 뿌리에 socket 을 열고 있었다
- fix(tests): 같은 파일의 두 번째 테스트가 옛 뿌리를 그대로 쥐고 있었다
- fix(tests): 격리가 옮긴 것은 socket 이 아니라 «뿌리» 였다 — 두 e2e 가 부모와 자식을 갈라 놓았다
- fix(tests): N-1 baseline 은 uid 기준 socket 을 요구한다 — 이 경로만 공용을 짚는다
- fix(tests): runner 격리가 libc 없는 대상의 빌드를 깨뜨렸다
- fix(session-host): 테스트가 사용자 registry 를 오염시켜 실행 중인 앱을 죽였다
- fix(session-host): poison 사유가 갈리면 앱을 죽이던 자리를 닫는다
- test(session-host): verify tombstone relaunch persistence
- docs(windows): §2m.75 — 검색 입력, 그리고 경계 테스트가 한글을 구한 이야기
- feat(windows): 사이드바 검색에 글자를 친다 — 죽어 있던 줄이 산다
- docs(windows): 어제 적은 검색 모델이 틀렸다 —
text_field가 아니라overlay_input이다 - docs(session-host): P4 완료 상태를 실제 gate와 맞춘다
- fix(session-host): checkpoint 실패 시 Quit을 취소한다
- fix(session-host): restore capability-less N-1 metadata safely
- test(session-host): require legacy metadata consumer parity
- docs(session-host): define legacy metadata consumer gate
- test(session-host): verify metadata reattach parity
- test(session-host): require metadata reattach parity
- docs(session-host): define metadata reattach parity gate
- test(file-tree): reveal 판정자가 짧은 픽스처에서 패닉하지 않고 거절한다
- fix(file-tree): 보여 주지 못한 것을 «보여 줬다» 고 기록하지 않는다
- fix(file-tree): 재투영이 매 tick 사용자의 스크롤을 선택 행으로 되감았다