2026-09-10

요약 (AI 작성)

zntc v0.1.7 이 나간 날입니다. maru 활동 뷰는 옛 형식의 JSON 껍데기를 벗겨 라벨의 74.4% 가 명령이 되고(§2.2), chunk 껍데기를 벗겨 갇힌 출력 191.5MB 를 되찾았으며(§2.4), 「구조는 벗기고 글자는 안 알아본다」를 계약으로 뒀습니다(§2.3). 편집기는 줄별 폭 캐시(L2)로 접힘 토글이 문서를 다시 안 훑고(30.3ms→1.29ms), caret 이 가장자리에 붙기 전에 굴립니다(세로 5·가로 0).

모바일은 누름이 표를 지나게 하고(서버 목록 M12a·원격 세션 목록 M12b — 뜻은 «그 세션의 id»), 남은 화면을 옮기고 옛 자리를 없애 M12 를 닫았습니다(M12c). 서버 목록 줄이 머리를 덮던 것과 추천 단어가 통째로 들어가던 것도 고쳤습니다. 터미널은 kitty 를 켠 앱에서 키를 누르고 있어도 한 번만 먹던 것(repeat 은 press 다), DECRQM 이 ?1048 을 «모른다» 고 답하던 것(목록을 소스에서 뽑는다), 애니메이션이 메모리 예산을 우회하고 LRU 를 뒤집던 것을 고쳤습니다. session-host 는 target_invalid 의 진짜 이유를 남기고(자식이 자기 파일에 적는다), 새 빌드를 깔 때마다 host 가 하나씩 늘던 것을 잡았습니다 — 늦게 추가한 tag 가 필수였습니다.

커밋

ohah/maru

ohah/zntc

PR (해당일 생성/머지)

repo#상태제목
ohah/zntc#4647mergedchore: release v0.1.7
ohah/zntc#4646mergedfix(wasm): VFS 번들러가 entry 의 import 를 해석하도록 listDir 구현
ohah/maru#3512mergedfix(mobile): 추천 단어가 통째로 들어갔다 — 확정도 «맞춘다» (M2-f1)
ohah/maru#3511mergedtest: undefined 세션 선언 88개를 걷어낸다 — 읽히는 축이 결정적이 된다
ohah/maru#3510mergedfix(terminal): 애니메이션이 메모리 예산을 우회하고 LRU 를 뒤집었다
ohah/maru#3509mergedfix(tests): 러너가 묵은 /tmp 픽스처를 쓸어 낸다 — 47.4 GB 가 쌓여 있었다
ohah/maru#3508mergedfix(test): undefined 세션을 걷어낸다 — 출하 체제에서 UB 였다 (+ editor ReleaseFast 잡)
ohah/maru#3507mergedfeat(app): 앱이 어느 바이너리인지 스스로 말한다
ohah/maru#3506mergeddocs(agent-activity): 「구조는 벗기고 글자는 안 알아본다」를 계약이 든다 (§2.3)
ohah/maru#3505mergedfeat(terminal): kitty 애니메이션 — a=f 프레임 전송·a=a 재생 제어·a=c 합성
ohah/maru#3504mergedfix(mobile): 서버 목록 줄이 머리를 덮었다 — 머리를 본문 뒤로 (U1-f1)
ohah/maru#3503mergedfeat(terminal): ANSI 모드 질의와 DSR-DEC 에 답한다 — 침묵이 앱을 멈추게 했다
ohah/maru#3502mergedperf(editor): 줄별 폭 캐시(L2) — 접힘 토글이 문서를 다시 안 훑는다 (30.3ms → 1.29ms)
ohah/maru#3501mergedfeat(mobile): 끝에서 튕긴다 — 유계 좌표는 그대로 둔다 (U1 bounce)
ohah/maru#3500mergedfix(terminal): DECRQM 이 ?1048 을 «모른다» 고 답했다 — 목록을 소스에서 뽑는다
ohah/maru#3499mergeddocs(native-editor): 접힘 토글 비용을 «직접 재서» 고친다 — 트리거가 울렸다
ohah/maru#3498mergedfeat(agent-activity): chunk 껍데기를 벗긴다 — 갇힌 출력 191.5 MB 를 되찾는다 (§2.4)
ohah/maru#3497mergedfix(mobile): U1 의 히트 44 는 «없어진 일» 이었다 — 재고 게이트를 세운다
ohah/maru#3496mergedtest(terminal): 문서가 약속했는데 판정자가 없던 갈래 셋에 그물을 단다
ohah/maru#3495mergedtest(syntax): 접힘 범위의 «가장 긴 것 하나» 를 잰다 — 적대적 3회
ohah/maru#3494mergedfix(test): 실 프로세스 스모크를 샤드 밖으로 — 테스트 하나가 늘면 터지던 자리
ohah/maru#3493mergedfix(editor): 접힘 범위를 «못 센 것» 은 「접을 것이 없다」가 아니다 — 실패를 보고한다
ohah/maru#3492mergedfeat(mobile): 남은 화면을 옮기고 옛 자리를 없앤다 — M12 를 닫는다 (M12c)
ohah/maru#3491mergedfix(agent): host 세대가 바뀌면 그 pane 을 영영 못 받았다 — pane 칸으로 귀속한다
ohah/maru#3490mergedfeat(mobile): 원격 세션 목록도 표를 지난다 — 뜻은 «그 세션의 id» (M12b)
ohah/maru#3489mergedtest(editor): 구문 접힘 승격의 «실패 갈래» 를 잰다 — 할당 실패 주입
ohah/maru#3488mergedfix(session-host): 새 빌드를 깔 때마다 host 가 하나씩 늘던 것 — 늦게 추가한 tag 가 필수였다
ohah/maru#3487mergedtest(terminal): 공허하게 통과하던 kitty 판정자 둘을 훑어 고친다
ohah/maru#3486mergedfix(terminal): kitty 를 켠 앱에서 키를 누르고 있어도 한 번만 먹던 것 — repeat 은 press 다
ohah/maru#3485mergedtest(session-host): handoff stable field를 전수 검증한다 — U1 종료 gate
ohah/maru#3484mergedfeat(agent): orphan 은 «가장 가까운 짝» 을 남긴다 — 엉뚱한 Term 이 덮던 자리
ohah/maru#3483mergedfix(mobile): 붙어 달라는 요청을 누른 그때 집는다 — iOS 만 갈려 있었다 (M12-f1)
ohah/maru#3482mergedtest(session-host): 원격 parity 가 가상 placement 를 헛통과하고 있었다
ohah/maru#3481mergedfeat(agent-activity): 검색이 입력 전부를 본다 — 사각 26.2% 를 없앤다 (§2.1.1)
ohah/maru#3480mergedfix(session-host): target_invalid 의 진짜 이유를 남긴다 — 자식이 자기 파일에 적는다
ohah/maru#3479mergedtest(editor): caret 여백 판정자가 «절반 clamp 의 기준» 까지 잰다 — 적대적 3회
ohah/maru#3478mergedfeat(mobile): 누름이 표를 지난다 — 서버 목록 (M12a)
ohah/maru#3477mergedfix(agent): 조용하면 스트리머를 다시 띄운다 — 좀비는 EOF 를 안 준다
ohah/maru#3476mergedtest(terminal): 부모 검증이 고아 정리 비용의 상한임을 고정한다 (3 ms vs 1094 ms)
ohah/maru#3475mergedfix(input): 키를 뗄 때 매크로·앱 액션이 다시 나가 동작이 두 번 일어나던 것
ohah/maru#3474mergedfeat(editor): caret 여백 — 가장자리에 붙기 전에 굴린다 (세로 5 · 가로 0)
ohah/maru#3473mergedfix(mobile): 적대적 검증 8~10회차 — 계약이 코드와 어긋났고, 산출물이 근거를 뒤집었다
ohah/maru#3472mergedfeat(agent-activity): 옛 형식의 JSON 껍데기를 벗긴다 — 라벨의 74.4% 가 명령이 된다 (§2.2)