2026-09-21

날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.

요약 (AI 작성)

@ohah/pdf가 0.2.0 커밋을 낸 날입니다. 글자 뽑기를 pdf.js 수준으로 올리고(조각 폭·틈 판정·합자·내장 인코딩), PDF를 LLM에 먹이는 Markdown으로 바꾸는 markdown()과 같은 규칙의 JSON인 blocks(), 워커 창구를 직접 쓰는 markdownOf(pages)를 넣었습니다. 한국어 실전 문서로 다듬어 docling과 맞댔고, 태그 PDF는 구조 나무를 따라가며 괘선 없는 표도 찾습니다. 무작위 27편(arXiv 22편, 한국 보고서 5편)에서 드러난 아홉을 고치고, 큰 암호 문서를 여는 데 56초 걸리던 것을 90ms로 줄이며 누운 글(arXiv 스탬프)을 거르게 했습니다. zntc도 v0.1.10 릴리스 커밋을 냈습니다(#4691). dev가 사라진 CSS import의 <link>를 지우고(#4686), 아직 없는 경로도 감시 목록에 남기며(#4688), 중첩된 dev 산출 디렉토리를 CSS 탐색·복사에서 제외했고(#4690), CSS 파이프라인 사전 패스의 비용 측정을 RFC에 적었습니다(#4689).

maru 편집기는 파일 없이 여는 편집기(U1, #3823)와 이름 없는 문서 저장(U2, #3827)을 얻었고, 저장이 실패하면 이유를 말하며 「연 뒤 바뀌었나」를 처음으로 묻게 했습니다(C0, #3839). LSP 2단은 foldingRange 접힘 3층(⑨, #3828), rustc 진단이 저장에만 다시 돌아 고친 오류가 남던 문제를 푸는 didSave 통지(⑩, #3833), ⇧F12 참조 피커(⑪, #3840)까지 갔습니다. #3833과 #3839가 각자 초록으로 병합되며 main이 컴파일되지 않던 것은 #3844로 고쳤고, 같은 목적의 #3843은 닫혔습니다. 구현·타입 정의·선언으로 이동하는 ⑫ #3846과 저장 충돌을 고르게 하고 네이티브 다시 읽기를 만드는 C1a #3847은 이날 PR이 열렸습니다. 비교 뷰에도 구문 색이 나고(#3819), 전날 열린 property·attribute 색 지정 #3818도 병합됐습니다.

에이전트 훅은 원격 Term의 턴 스냅샷과 ✎ 귀속을 저쪽 기계에서 세우고(AT3c, #3820), ✎의 근거를 로컬·원격으로 통일했으며(AT3d, #3826), 훅 커맨드 하나로 로컬/원격 설치기의 핑퐁을 없앴습니다(RA8, #3825). RA7은 훅 모드 상태를 HookSlot으로 뽑고, 원격 tmux pane별 훅 슬롯 테이블과 라우팅, 사이드바 pane 행까지 조각 넷을 병합했으며(#3838), 밀린 pane 고지를 넣는 조각 5 #3842는 이날 열렸습니다. 새 Maru.app에서 maru ssh와 loopback sshd를 거쳐 claude 한 턴을 도는 실기 e2e 도구와 결과도 문서로 남겼습니다(#3829).

build.zig는 등록을 바뀌는 이유별로 build/로 갈라 21,352줄에서 8,835줄로 줄였고(#3824), 빌드 등록을 문자열이 아니라 AST 뷰 build_graph로 세게 했습니다(#3831). tests/boundary/ 판정자 스무 개를 표로 모으는 #3845는 이날 열렸습니다. workspace는 잃은 게 없는데 저장을 막아 껐다 켤 때마다 배치가 사라지던 두 교착을 닫았습니다(#3830). hwpjs는 EMF fill 레코드와 레코드 wire 지원 분류, 페이지·클리핑·그래픽 속성 상태 추적, polyline·Bezier·cardinal spline과 Path 기하·closure 조립을 넣었고, HWP5가 EMF+ world·container transform을 replay합니다.

공개 커밋 116개, 해당일 생성 또는 병합된 PR 36개를 정리했습니다. PR 생성 35개·병합 30개는 같은 PR이 양쪽에 포함될 수 있습니다.

커밋

ohah/hwpjs

ohah/maru

ohah/pdf

ohah/zntc

PR (해당일 생성/머지)

상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.

저장소PR해당일 활동상태대상 브랜치제목
ohah/maru#3847생성mergedmainfeat(editor): 저장 충돌을 «고르게» 한다 + 네이티브 다시 읽기를 만든다 (C1a)
ohah/maru#3846생성mergedmainfeat(editor): LSP 2단 ⑫ — 구현·타입 정의·선언으로: 팔레트 명령 셋이 참조 피커와 같은 길(0 알림·1 이동·2+ 피커); provider 없는 종류는 묻지 않고 알린다 (§8.2m)
ohah/maru#3845생성mergedmainrefactor(build): tests/boundary/ 판정자 스무 개를 표로 — 등록과 「매달기」가 3천 줄 떨어져 있었다
ohah/maru#3844생성 · 병합mergedmainfix(editor): main 이 컴파일되지 않는다 — bool 로 쓰는 저장 자리 여섯
ohah/maru#3843생성closedmainfix(editor): didSave 판정자·캡처 훅을 C0 의 saveDocument 오류 합집합에 맞춘다 — #3833 과 #3839 가 각자 초록으로 머지돼 main 이 컴파일되지 않는다
ohah/maru#3842생성mergedmainfeat(agent-hooks): RA7 조각 5 — 밀린 pane 은 «+N pane 밀림» 고지 행으로 남고, pane 행 문구가 기본 폭에 온전히 들어간다
ohah/maru#3841생성mergedmainfix(status-bar): 리소스 팝오버의 합이 안 맞던 것 — 자르는 자리가 정렬보다 앞이었다
ohah/maru#3840생성 · 병합mergedmainfeat(editor): LSP 2단 ⑪ — 참조 피커: ⇧F12 → references 위치 전부를 팔레트 기반 피커로(현재 파일 먼저·미리보기·root 밖 알림), 하나면 바로 이동, 로드 중 content modified 는 되묻기 (§8.2l)
ohah/maru#3839생성 · 병합mergedmainfeat(editor): 저장이 실패하면 왜인지 말한다 + 「연 뒤 바뀌었나」를 처음으로 묻는다(C0)
ohah/maru#3838생성 · 병합mergedmainfeat(agent-hooks): RA7 조각 4 — 사이드바에 원격 tmux pane 행, 클릭은 그 pane 의 세션을 최근 세션으로
ohah/maru#3837생성 · 병합mergedmainfeat(agent-hooks): RA7 조각 2·3 — 원격 tmux pane 별 훅 슬롯 테이블과 라우팅, Term 배지는 pane 중 하나라도 running 이면 running, 턴 끝·알림은 pane 마다
ohah/maru#3836생성 · 병합mergedmainrefactor(build): 빌드 그래프 뷰가 «안 담은 것을 없다고 말하지» 않게 한다 — VarCalls 를 모든 receiver 에
ohah/maru#3835생성 · 병합mergedmainrefactor(agent-hooks): RA7 조각 1 — 훅 모드 상태를 HookSlot 로 뽑고 Term 은 인라인 슬롯 하나 (동작 불변)
ohah/maru#3834생성 · 병합mergedmaintest(app-session): IME preedit 판정자가 자식의 첫 줄이 도착한 뒤 기준 셀을 잡는다 — CI 세 PR 연속 «expected 12622, found 77» 플레이크
ohah/maru#3833생성 · 병합mergedmainfeat(editor): LSP 2단 ⑩ — 저장 통지 didSave: rustc 진단이 저장에만 다시 돌아 고친 오류가 남아 있었다 — 쓰기 성공 뒤 flush → didSave (§8.2k)
ohah/maru#3832생성 · 병합mergedmaindocs(agent-hooks): 실기 e2e tmux 변형 — pane 1(사용자 플로우, RA6 역조회 실기 통과)·pane 2(RA7 배치, 지금은 접힘) + RA7 재실측·조각화·착수 전 공격
ohah/maru#3831생성 · 병합mergedmainrefactor(build): 빌드 등록을 «문자열이 아니라 구조로» 센다 — AST 뷰 build_graph 와 첫 판정자 이관
ohah/maru#3830생성 · 병합mergedmainfix(workspace): 잃은 게 없는데 저장을 막아, 껐다 켤 때마다 배치가 사라지던 두 교착
ohah/maru#3829생성 · 병합mergedmaindocs(agent-hooks): 에이전트 턴 축 실기 e2e 도구와 결과 — 새 Maru.app → maru ssh → loopback sshd → claude 한 턴 → 에이전트 탭 «2개 파일 · ✎ 2» (AT3c·RA8·AT3d 실기 검증)
ohah/maru#3828생성 · 병합mergedmainfeat(editor): LSP 2단 ⑨ — foldingRange 접힘 3층: 서버 범위가 구문 층 위에 서고(use·문서 주석 묶음), 로드 중 빈 응답은 되묻고, 승격은 3층을 덮지 않는다 (§8.2j)
ohah/maru#3827생성 · 병합mergedmainfeat(editor): 이름 없는 문서를 저장한다 — 이름을 묻고 보통 문서가 된다(U2)
ohah/maru#3826생성 · 병합mergedmainfix(agent-hooks): AT3d — ✎ 의 근거를 «편집 도구가 겨냥 ∧ tree 목록» 으로 로컬·원격 통일, 되돌림은 Read 에서 뜬 before 가 있을 때만, 시간 창 폴백 폐기
ohah/maru#3825생성 · 병합mergedmainfeat(agent-hooks): RA8 — 훅 커맨드 하나로 로컬/원격 설치기의 핑퐁을 없앤다, 로그 디렉터리는 HOME 만으로, 원격 nonce 경로 탈출을 막는다
ohah/maru#3824생성 · 병합mergedmainrefactor(build): build.zig 21,352 → 8,835 — 등록을 «바뀌는 이유»별로 build/ 로 가르고, 판정자가 보는 「빌드 소스」를 한 곳이 소유하게 한다
ohah/maru#3823생성 · 병합mergedmainfeat(editor): New Editor Tab — 파일 없이 여는 편집기(U1)
ohah/maru#3822생성 · 병합mergedmaindocs(editor): 이름 없는 문서 계약·계획 — 초안이 든 근거 넷이 코드와 반대였다
ohah/maru#3821생성 · 병합mergedmaindocs(session-host): §12.6 — PartialFrame 의 «반응» 은 왜 아직 안 고쳤나, 미룬다면 어떤 기계로 도나
ohah/maru#3820생성 · 병합mergedmainfeat(agent-hooks): AT3c — 원격 Term 의 턴 스냅샷·✎ 귀속을 저쪽 기계에서 세운다 (원격 세트 = 로컬 세트, 턴 목록은 tree 가 있는 기계에서)
ohah/maru#3819생성 · 병합mergedmainfeat(editor): 비교 뷰에도 구문 색을 낸다 — 계약은 있었고 구현이 반쪽이었다
ohah/maru#3818병합mergedmainfeat(syntax): property = ANSI 7(white) · attribute = ANSI 5(magenta) — LSP 2층의 enumMember·member 구분이 화면에 나타나게 자리를 가른다 (§5.3)
ohah/zntc#4691생성 · 병합mergedmainchore: release v0.1.10
ohah/zntc#4690생성 · 병합mergedmainfix(web): 중첩된 dev 산출 디렉토리를 CSS 탐색·복사에서 제외 (#4678)
ohah/zntc#4689생성 · 병합mergedmaindocs(rfc): CSS 파이프라인 사전 패스의 비용 측정 + D2a 선행 조건 재판정 (§11)
ohah/zntc#4688생성 · 병합mergedmainfix(server): 아직 없는 경로도 감시 목록에 남긴다 (#4683)
ohah/zntc#4687생성 · 병합mergedmainchore(web,server): 죽은 주입 경로 제거 + css-update href 타입 정정 (#4680, #4681)
ohah/zntc#4686생성 · 병합mergedmainfix(web): dev 가 사라진 CSS import 의 <link> 를 지운다 (#4671)