fix(rules): SessionStart 최근 교훈 자동 주입 + C31 체크리스트 확장

PD님 직접 지시 "다른 세션·다른 PC 작업 이어갈 때 공유 누락 재발 방지
점검해서 문제 있으면 보완해" 수용.

점검 결과 약점 2건 발견 + 즉시 보완:

1. C31 자기검증 체크리스트에 본 세션 신규 원칙 미편입 → C31-B에 4문항
   추가 (C34-16 memory Write 경로 · C6-1 백업 포맷 · P28-8 종결 안건
   재언급 · 안건 프레이밍 중복)

2. feedback 메모리 본문 자동 주입 부재 → scripts/recent_feedback_brief.sh
   신설 + SessionStart hook 편입. 최근 7일 내 신설·수정 feedback 파일의
   frontmatter description을 자동 주입하여 신 PM 세션·다른 PC 세션이
   핵심 교훈을 인지하도록 환기

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
깃 관리자 2026-04-19 02:19:21 +09:00
parent c4d15dfd6b
commit edcc0b264b
3 changed files with 42 additions and 0 deletions

View File

@ -109,6 +109,10 @@
"type": "command",
"command": "bash scripts/pm_context_restore.sh 2>/dev/null || true"
},
{
"type": "command",
"command": "bash scripts/recent_feedback_brief.sh 2>/dev/null || true"
},
{
"type": "command",
"command": "bash scripts/verify_log_paths.sh 2>/dev/null || true"

View File

@ -1547,6 +1547,10 @@ C20-7 자기검증 5문항에 다음 항목 추가:
- [ ] C28: md 파일 수정 전 PD님에게 승인을 요청하는 표현이 있는가? (있으면 제거)
- [ ] C29-4: 완료 작업에 대한 PD 지시 로그·대화로그·소통 채널·Live 더미 동기화를 수행했는가?
- [ ] C30: 대상 프로젝트(Unity·코어 프레임워크 등) 수정 전 git 최신 상태 점검을 수행했는가?
- [ ] **C34-16 (2026-04-19 추가)**: memory 파일 Write 시 본 worktree 절대 경로 직접 지정했는가? 아니면 user memory 경로 사용 시 동일 세션 내 일관 유지? (혼용 금지)
- [ ] **C6-1 (2026-04-19 추가)**: 신규·수정 스크립트의 백업 로직이 `{원본명}.bak_{YYYYMMDD_HHMM}.{확장자}` 표준 포맷을 따르는가? (`.bak-*`·Unix timestamp 금지)
- [ ] **P28-8 (2026-04-19 추가)**: 본 응답에 **PD님 별도 히스토리 요청 없는 종결·완료·폐기 확정 안건**이 재언급되지 않았는가? "고착·영구 종료·재논의 대상 아님" 표현 등장 시 삭제 검토
- [ ] **안건 프레이밍 중복 (2026-04-19 추가)**: "PM 재량"과 "PD 결정" 카테고리에 동일 안건이 중복 등장하지 않는가? PD님 이전 턴 결정 사안을 재질문하지 않는가?
**C. 정직성·용어 일관 (C5·C22·C23·C25)**
- [ ] 실제 tool_use 결과로 입증 가능한 주장만 포함했는가? (C23)

View File

@ -0,0 +1,34 @@
#!/bin/bash
# SessionStart hook — 최근 7일 내 신설·수정 feedback 메모리 요지 자동 주입
# 신 PM 세션·다른 PC 세션이 본 세션의 핵심 교훈을 인지할 수 있도록 자동 환기
# 2026-04-19 신설 — PD님 직접 지시 "공유 누락 재발 방지"
# 관련 규칙: C31 자기검증 · C33 조직 업무 공유·기록 체계 일관성 · 헌법 원칙 ⑤
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
[ -z "$REPO_ROOT" ] && exit 0
MEMORY_DIR="$REPO_ROOT/memory/org"
[ ! -d "$MEMORY_DIR" ] && exit 0
# 최근 7일 내 mtime feedback 파일 (최대 10건)
RECENT_FILES=$(find "$MEMORY_DIR" -name "feedback_*.md" -mtime -7 -type f 2>/dev/null | head -10)
if [ -z "$RECENT_FILES" ]; then
exit 0
fi
COUNT=$(echo "$RECENT_FILES" | wc -l)
echo "🔍 [최근 7일 교훈 요지] $COUNT 건 — 세션 리더 필독 (C31 자기검증 참조):"
while IFS= read -r file; do
[ -f "$file" ] || continue
name=$(basename "$file" .md)
# frontmatter description 추출 (첫 줄 120자 제한)
desc=$(awk '/^description:/ {sub(/^description: /, ""); print; exit}' "$file" 2>/dev/null | cut -c 1-120)
if [ -n "$desc" ]; then
echo "$name"
echo "$desc"
fi
done <<< "$RECENT_FILES"
exit 0