2026-07-06

요약 (AI 작성)

사이드바 그룹 고정 계열을 한 축 더 넓혀 그룹-로컬 pin(GL1~4)을 추가했습니다. local_pinned 필드·직렬화와 stablePartitionSubtree 토대(GL1) 위에 toggleLocalPin과 멤버 우클릭·드래그 clamp(GL2), 📌 렌더·위생·마커 위 배치(GL3), 로컬 pin 공존·중첩 하드닝(GL4)을 얹었습니다. 이 축은 그룹 고정(C2)과 직교하는 새 개념이라 §13 문서에 적대적 검증을 세 차례 반영했고, 최상위 카드가 그룹에 흡수되거나 그룹 고정 해제 시 로컬 pin이 잔류하던 버그를 pin 회귀 매트릭스로 함께 잡았습니다. 그룹 드래그도 Cmd=중첩·일반=형제로 구분하고 고스트 피드백을 붙였습니다.

문서 쪽은 세션 컨트롤 플레인 설계가 큰 비중을 차지했습니다. JSON-RPC 2.0 + ndjson framing 프로토콜, capability fd 인가 계획, 네이티브 뷰 예외 명문화와 Phase별 테스트 전략을 세우고 적대적 검증을 여러 렌즈로 반영했습니다. web-panel 쪽도 WKWebView 합성·z-order·브리지 인프라, CEF opt-in 플러그인 방향, maru-app:// 스킴(RFC 3986 근거)을 정리했습니다. PR로는 이 설계가 실제 코드로 내려와, 컨트롤 소켓 부트스트랩과 Surface DTO·read-only 디스패치, CLI sessions list/get, capability auth 코어(1a1e)와 SurfaceIdAllocator·WindowMembershipSnapshot·WindowGraph·LiveSurfaceRegistry(M0aM2a)가 차례로 머지됐습니다. 그 사이 OSC 52 대용량 클립보드 유실·회수 갭 수정, ANSI 팔레트 자동 대비 게이트로 라이트 테마 가독성 개선도 이뤄졌습니다.

커밋

ohah/maru

PR (해당일 생성/머지)

repo#상태제목
ohah/maru#1214mergedtest(session): foundation 커버리지 갭 보강 — 미검증 분기·경계·계약 14건
ohah/maru#1213mergedfeat(session): 1e capability auth 코어 — nonce hash·인가 판정·fd payload (헤드리스)
ohah/maru#1212mergedfix(cli): usage 에러가 Zig 스택 트레이스 대신 깔끔한 안내로 종료
ohah/maru#1211mergedfix: 적대적 검증 반영 — 코드 hardening 3건 + 문서 drift 대량 정정
ohah/maru#1210mergedfeat(session): 1d CLI read-only metadata — sessions list/get 파서·dispatch·소켓 왕복
ohah/maru#1209mergedfeat(session): 1c Surface DTO + read-only 디스패치 코어 — §3 엔티티·scope 응답
ohah/maru#1208mergedfeat(session): 1b 컨트롤 소켓 부트스트랩 — unix socket bind/accept/peer-cred/hello
ohah/maru#1207mergedfeat(terminal): OSC 52 상한 초과를 notice로 표면화 (무음 실패 제거) + 장기 방향 문서화
ohah/maru#1206mergedfeat(session): M2a LiveSurfaceRegistry — 런타임 소유 골격(generic·TDD, 미배선)
ohah/maru#1205mergedfix(session): 누적 code-review max 결함 2건 — WindowGraph OOM 롤백·Framer 프레임 유실
ohah/maru#1204mergedfix(terminal): OSC 52 대용량 버퍼 회수 갭 (code-review max 후속 5건)
ohah/maru#1203mergedfeat(session): 1a 컨트롤 플레인 프로토콜 스키마 — JSON-RPC 2.0 + ndjson framing
ohah/maru#1202mergedfeat(session): M1 WindowGraph — window↔surface 배치 순수 모델 + move/merge
ohah/maru#1201mergedfix(terminal): OSC 52 한 문단 크기(>2KB) 클립보드 쓰기가 통째로 버려지던 것 수정
ohah/maru#1200mergedfeat(session): M0b WindowMembershipSnapshot — window_kind + metadata scope 필터
ohah/maru#1199mergedfeat(session): M0a SurfaceIdAllocator — 앱 전역 surface_id 발급기
ohah/maru#1198mergedfeat(theme): ANSI 팔레트 자동 대비 게이트(theme.min-contrast)로 라이트 테마 가독성 개선
ohah/maru#1197mergedfeat(sidebar): §2.1 재설계 — 그룹 생성 선택 탭만 + 고정 탭↔그룹 인터리빙 (top_level, SR1~5)