← ClaudeAtlas

tm-debuglisted

term-mesh DEV의 렌더/peer 라이브 디버그 루프. 활성 태그의 debug 로그를 증상 구간만 잘라 분석하고, 최소 수정안을 사용자 확인 후 reload.sh로 재빌드해 재검증한다. "로그 봐줘", "peer 안 보임/깜빡임", "blank pane", "redraw 안 됨", "화면 일부 안 보임", "pane 렌더 버그", "reload 후 확인" 같은 term-mesh DEV 디버깅 요청에 사용.
x-mesh/term-mesh · ★ 0 · Code & Development · score 70
Install: claude install-skill x-mesh/term-mesh
# tm-debug — term-mesh 라이브 디버그 루프 term-mesh DEV의 렌더/peer 시각 버그를 잡는 **반자동 루프**다. 사람이 증상을 재현하고("로그 봐줘"/"계속"), 스킬은 그 구간의 debug 로그를 해석해 가설과 최소 수정안을 낸다. 수정 적용과 `reload.sh` 재빌드 전에는 **반드시 사용자 확인**을 받는다. ## 언제 쓰나 - term-mesh DEV에서 pane/peer가 안 보이거나, 깜빡이거나, 일부만 그려지거나, redraw가 안 될 때 - 사용자가 증상을 재현하고 "로그 봐줘" / "계속"이라고 할 때 - `reload.sh --tag X`로 띄운 빌드를 디버깅 중일 때 이 스킬은 term-mesh DEV 전용이다(`reload.sh`, `/tmp/term-mesh-debug-*.log` 경로 의존). 다른 프로젝트엔 적용하지 않는다. ## 루프 (6단계) ``` 1. 감지 → 활성 태그 + debug 로그 경로 찾기 2. 구간 → 증상 시각 부근만 추출 (전체 덤프 금지) 3. 가설 → 서브시스템 신호 해석 → 근본원인 후보 4. 게이트 → 최소 수정안(파일:라인/diff 요지) 제시 → 사용자 확인 ⛔ 여기서 멈춤 5. reload → 확인 후 reload.sh --tag <같은 태그>로 재빌드 6. 재검증 → 사용자 재현 → 해결이면 cleanup 안내, 아니면 1로 ``` 핵심 규칙: **4단계 게이트를 건너뛰지 않는다.** 분석·가설·수정안까지는 자동, 적용/reload는 사용자 승인 후. --- ## 1. 감지 — 활성 태그 / 로그 경로 `reload.sh`는 마지막 빌드의 debug 로그 경로를 `/tmp/term-mesh-last-debug-log-path`에 기록한다. 이걸 1순위로 쓴다. ```bash # 활성 debug 로그 경로 (1순위: reload.sh가 기록한 경로) LOG="$(cat /tmp/term-mesh-last-debug-log-path 2>/dev/null)" # 2순위: 가장 최근 수정된 태그 로그 [ -f "$LOG" ] || LOG="$(ls -t /tmp/term-mesh-debug-*.log 2>/dev/null | head -1)" echo "log: $LOG" # 현재 태그 (로그 파일명에서 역산: term-mesh-debug-<slug>.log) TAG="$(basename "$LOG" .log | sed 's/^term-mesh-debug-//')" echo "tag: $TAG" ``` 태그가 여러 개거나 모호하면 추측하지 말고 사용자에게 어느 태그인지 확인한다. `--tag`는 reload 시 동일 값을 유지해야 한다(병렬 빌드 오염 방지). ## 2. 구간 추출 — 증상 발생 시각만 로그는 `HH:MM:SS.mmm subsystem.event key=value ...` 포맷이라 시각 상관이 쉽다. **전체를 읽지 말 것** — 컨텍스트 낭비 + 노이즈. ```bash # 마지막 N초 구간