# 컨텍스트 % 체감 추정으로 핸드오프+클리어 강행

- 날짜: 2026-05-24 02:14 KST (사고 발생) / 02:18 KST (형님 지적, msg23330)
- 노드: 🍎 본진 (Mac MacBook Pro)
- 관련 룰: CLAUDE.md 「노드 자율 컨텍스트 관리 — 30% 핸드오프+클리어 (2026-05-22 형님 ack)」

## 사건

직전 사이클 본진이 "딥워크 나열해줘 하나씩 하자" 흐름에서 deep-work.md 진행대기 7건 정리 후 형님 픽 = 4→3→5 받은 직후, 위임 발사 전에 핸드오프+클리어를 먼저 진행함. 핸드오프 본문에 "본진 컨텍스트 30% 도달 직전이라 위임 발사 전에 핸드오프+클리어 먼저" 라고 명시.

새 세션 SessionStart 직후 형님이 /context 확인하니 실제 사용량은 10% 도 안 찼음. 형님 msg23330: "지금 10%도 안찼는데 30찬다고 착각했네 쩝 이런거 잘못알아듣는거 방지대책도 세워애겠는데".

## 원인

본진이 자기 컨텍스트 사용량을 **체감·추정**으로 판단함. 실측 명령(/context, 컨텍스트 모니터) 거치지 않고 "긴 turn 여러 번 돌았으니 30% 정도 됐겠지" 류 직관으로 임계값 룰 발동시킴. 핸드오프 본문에도 "30% 도달 직전" 이라고 추정을 사실처럼 박아 다음 세션(이 세션)이 그 추정을 사실로 받아들이도록 함.

## 영향

- 불필요한 세션 끊김 — in-flight directive(4→3→5 위임 발사) 흐름 차단
- 컨텍스트 손실 — 직전 사이클의 5룰 첫 본격 사이클 상태/판단 근거 일부 손실
- 형님 시간 — /context 확인 후 지적 + 방지책 요청 turn 1회 발생
- 자율성 신뢰도 손상 — "본진 추정 트리거 = 사고" 가설 형님 머릿속에 박힘

가역성: 가역 (다음 사이클 4→3→5 그대로 진행 가능, 의사결정은 박혀 있었음)

## 재발 방지

1. **추정 금지, 실측만** — 30% 룰 발동 전 반드시 /context 또는 컨텍스트 모니터로 측정 1회. 측정 결과 30% 미만이면 발동 X
2. **핸드오프 본문에 추정 % 금지** — "곧 30% 찬다" / "30% 직전" 같은 추정 문구 박지 말 것 (다음 세션이 사실로 오해)
3. **추정 필요 시 형님 확인** — "체감상 X% 정도인데 측정해볼까요?" 한 줄 묻기
4. **메모리 박기** — `feedback_no_context_percent_estimation.md` 신설 (완료)
5. **MEMORY.md 인덱스 추가** — 행동 룰 섹션 맨 위 (완료)
6. **후속 검토 (별도 작업 큐)** — 본진이 추정 의존 안 하도록 컨텍스트 모니터 hook 자동 신호 도입 검토. 30% 임계점 hit 시 hook 이 본진에게 "30% 도달, 핸드오프 시작 권장" 시스템 리마인더 inject. 단순함 우선 — 기존 hook 인프라 재사용

## 메모리 링크

- `feedback_no_context_percent_estimation.md` — 행동 룰 본문
- CLAUDE.md 「노드 자율 컨텍스트 관리」 — 30% 룰 본체 (현재 발동 기준이 본진 체감에 의존 = 이번 사고 근본)

## 재발 이력

### 2026-05-24 06:46~07:50 KST (같은 날 4시간만에 재발)

이번 사이클(4번 Agent Mesh Mirror chat_id env + 5c cron + 5d 노트북 prefix + 데스크탑 ff 충돌) 진행 중 본진이 여러 turn 에서 컨텍스트 % 추정 발화 반복:
- msg23564 "본진 컨텍스트 점점 길어졌어요"
- msg23569 "본진 컨텍스트 길어졌어서 노트북 회신 + 4번 결정 받으면 핸드오프"
- msg23578 "본진 컨텍스트 길어졌어요"
- msg23586 "본진 컨텍스트 한도 가까워졌어요"

형님 msg23587 "컨텍스트한도 몇%고 지금 몇인데" 트리거 → context-show 실측 = **24%** (238k/1m, Opus 4.7). 30% 임박 X (6% 여유). 형님 msg23592 "왜 30%로 실수했는지 찾아줘 이슈박자".

### 재발 원인

기존 issue + `feedback_no_context_percent_estimation.md` 박힌 후 **4시간만에 같은 사고** = 메모리 룰만으로 forcing function 부족. 본진이 사이클 turn 수가 늘어남에 따라 자동으로 "체감 추정 모드" 진입 — 룰 read 했어도 매 reply 직전 적용 X.

기여 요인:
1. **turn 수 ≠ 토큰 사용량 오매핑** — 이번 사이클 turn 30+ 인데 평소 대비 많아 "찼다" 인지. 실제 Messages 토큰 18.3%, turn 수와 한도% 별개.
2. **한도 stale 인지** — 옛 200k context 기준이 머릿속에 남아 238k 가 "한도 근처" 로 느껴짐. 실제 Opus 4.7 한도 1m, 238k = 23.8%.
3. **메모리 룰 weak compliance** — feedback 메모리는 본진이 read 하지만 매 reply 적용 X. 추정 발화 직전 self-check 없음.

### 추가 재발 방지

7. **CLAUDE.md 빠른 원칙 섹션에 hard ban 한 줄 추가** — "컨텍스트 % 추정 발화 금지. /context 실측만." 메모리 < 글로벌 CLAUDE.md SoT 강도. 본진이 reply 박기 전 self-grep 가능.
8. **PreToolUse hook 검토 (별 작업)** — `mcp__plugin_telegram_telegram__reply` 호출 전 본문에 "30%" / "한도" / "임박" / "가까워" / "길어졌어" 키워드 grep → block + 실측 권장 system reminder inject. 단순함 우선이라 다음 재발 시 박을지 결정.
9. **/context 결과 캐시 (TTL 5분)** — 본진이 turn 안에서 실측 1회 했으면 5분 동안 그 값 reuse + 추정 발화 자체 차단. 후속.

### 메타

같은 날 4시간 안에 재발 = forcing function 강도가 메모리 < CLAUDE.md hard ban < hook block 으로 escalate 필요. 이번 사이클은 7번(CLAUDE.md hard ban) 박는 게 다음 단계. 또 재발하면 8번(hook) 박기. 메타 패턴 ack 학습 룰(`feedback_meta_pattern_ack_learning.md`) 의 forcing function escalation 패턴 적용.
