2026-07-31

요약 (AI 작성)

코드 에디터·git diff surface(Phase 0)를 설계하고 그 첫 조각을 실제로 붙인 날입니다. 설계는 적대 검증을 여러 차례 돌리며 스스로 뒤집는 과정이었습니다 — 에디터 엔진은 Monaco 를 기각하고 CodeMirror 6 로 확정했고, PoC 3건으로 CSP 결론을 뒤집었다가 낡은 브랜치를 대조했음을 확인하고 CSP 결함 주장을 철회했으며, 소켓 push 스트림 오인·file-panel 진행상태 오인·'전체 턴 enumerate' 과장 같은 자기 주장을 4차에 걸쳐 정정했습니다. 그 결과 §3~§8 을 CM6/file-panel 도크 확장 구조로 재작성하고 git 리뷰 UI 를 우측 도크 뷰로 설계했으며, 프런트 빌드 4층 게이트와 v1 번들 레시피, 남은 구현층 한계를 §11 에 명시했습니다.

구현으로는 소스 컨트롤 뷰가 들어왔습니다. git porcelain v2·numstat 순수 파서와 읽기 전용 명령 조립을 순수 모듈로 두고 git 읽기 backend 를 별도 스레드로 돌린 뒤, 행 모델·목록 렌더·갱신 배선을 프레임에 물리고 브랜치 헤더·섹션 접기·아이콘·스크롤·선택과 "브랜치에 COMMIT 됨" 섹션을 넣었습니다. git 을 실제로 실행할 수 있게 고치고 설치 여부를 판정하며, 충돌·하위 모듈이 잘못 보이던 것을 실측으로 잡았습니다. diff 쪽은 파일 kind 와 비교 기준을 모델에 넣고 본문 읽기 명령과 페이로드 상한, diff.open 브리지 method 를 더해 소스 컨트롤 행을 눌러 diff 를 여는 경로를 이었으며, MergeView 하니스와 전용 asset root 빌드·제품 WKWebView MergeView 게이트를 넣고 diff 1/2/4개의 RSS·유휴 CPU·회수를 측정했습니다. diff 화면 자체도 읽을 수 있게 다듬고 색을 테마에서 파생하도록 했으며, 리뷰가 확정한 15건과 긴 파일 표시·탭 이름 문제를 고쳤습니다. 탐색기에는 도크 뷰 스위처를 넣고 탭 바에 맞춘 뒤 AI 세션 뷰를 더했습니다.

session-host 는 recovery 와 control 경로를 닫았습니다. recovery consumer core 를 완성하고 화면 발행을 mark 이후로 옮기며 권위를 preflight 하도록 했고, recovery token 권위를 ledger 이후로 미뤘습니다. control 은 응답 correlation 을 연결하고 증거 계약을 테스트로 닫았으며 계약 자체를 타입으로 봉인했고, 외부 attach TX queue 와 request ID 를 구현했습니다. revoke 는 turn 우선순위를 계획하고 tx 취소를 봉인해 whole-turn 정리에 통합했으며, RX authority 의 socketpair 게이트와 adapter 수명주기, terminal cleanup 권위 결속도 마무리했습니다. 사이드바에서는 적대 검증이 뚫은 상태줄 훅 손실 경로를 막아 훅이 감쌌던 사용자 명령을 잃지 않게 했습니다. zntc 에서는 tsconfig paths 가 다른 모듈을 조용히 번들하던 두 경로(상대 hijack·specificity)를 고쳤고, 웹 쪽은 타입 검사를 전체로 넓혀 오류 51건을 정리했습니다.

커밋

ohah/maru

ohah/zntc

PR (해당일 생성/머지)

repo#상태제목
ohah/maru#1746mergedfeat(session-host): terminal cleanup 권위를 final-address binding에 결속합니다
ohah/maru#1745mergedfeat(session-host): completed drain preparation 기반을 봉인합니다
ohah/maru#1744mergedfix(session-host): recovery token 권위를 ledger 이후로 미룹니다
ohah/maru#1743mergedfeat(session-host): control 계약을 타입으로 봉인합니다
ohah/maru#1742mergedfix(web): 타입 검사를 전체로 넓히고 오류 51건을 고칩니다
ohah/maru#1741mergedfeat(session-host): revoke turn 취소를 whole-turn에 통합합니다
ohah/zntc#4608mergedfix(bundler): tsconfig paths 가 다른 모듈을 조용히 번들하던 2가지 (상대 hijack · specificity)
ohah/maru#1740mergedfeat(scm): 브랜치 커밋 섹션을 넣고 충돌·하위 모듈 표시를 실측으로 잡습니다
ohah/maru#1739mergedfeat(scm): 소스 컨트롤 행을 눌러 diff를 여는 경로를 잇습니다
ohah/maru#1738mergeddocs(session-host): define revoke integration gates
ohah/maru#1737mergedtest(session-host): close control correlation evidence
ohah/maru#1736mergedfeat(session-host): control response correlation을 연결합니다
ohah/maru#1735mergedfeat(session-host): 외부 attach TX queue와 request ID를 구현합니다
ohah/maru#1734mergedfeat(editor): 제품 WebKit MergeView 게이트(E0.5A)를 넣습니다
ohah/maru#1733mergedfeat(scm): 도크에 소스 컨트롤 뷰(읽기 전용)를 넣습니다
ohah/maru#1732mergedfix(sidebar): 상태줄 훅이 감쌌던 사용자 명령을 잃지 않게 합니다
ohah/maru#1731mergedfeat(file-explorer): 도크에 뷰 스위처를 넣습니다
ohah/maru#1730mergedfeat(session-host): close recovery consumer core
ohah/maru#1729mergedfeat(session-host): close RX authority socketpair gate
ohah/maru#1728mergedfeat(session-host): close RX authority adapter lifecycle