user_brief 현재 상태 (handoff)
user_brief 프로젝트의 현재 상태 시드입니다. 기존 루트
HANDOFF.md의 NOW·불변 핵심·문서 인벤토리·대기작업을 위치만 옮긴 것(내용 보존)입니다. 확정 결정 단일 출처 =data/decisions.json· 문서 카탈로그 =docs_manifest.json· 설계·계획 =design.md.
NOW — 현재 상태 한눈에
- ✅2026-08-06 경고선 25,000 → 30,000 상향(페페 지시 "경고캡 25000자에서 30000자로 수정해"). 신설 당일 실사용에서 루트
HANDOFF.md가 25,000을 두 번 넘겨 답변마다 압축을 하게 됐다 — 경고가 잦으면 신호가 아니라 소음이 된다.WARN_AT25000→30000(하드캡 40,000은 그대로, 여유 10,000). 갱신 =scripts/build_brief.py상수 ·rules/runbook.md·rules/repo.md· 루트HANDOFF.md배너. 검증 = 상수를 24,000/30,000으로 임시 치환해 양방향 실행 — 24,000에선CLEANUP-WARN: HANDOFF.md 25016자1건, 30,000에선 0건, 둘 다 exit 0(빌드 안 죽음), 끝나고 상수 복원 확인. - ✅2026-08-06 자동 재빌드 반복실패 대처 — 캡 20,000→40,000 + 경고선 25,000 신설(페페 지시 "실패 내용 확인하고 대처방안 수립해서 진행"). 진단 = 로그 88,881줄 집계 결과 최근 실패는 전부
build_brief.py캡 게이트(8/4 172회=14시간 · 8/5 2 · 8/6 1, 대상은 매번 루트HANDOFF.md). 구조적 결함 = 경고와 차단이 같은 선이라 1자만 넘겨도 5분마다 빌드가 죽고, 그 사이 리포트가 통째로 낡는다. 기존HEADROOM_WARN(여유<2,000)은 캡 코앞이라 실질 예고가 아니었고 로그에만 찍혀 아무도 안 봤다(26.8.4와 같은 실패). 처방 = ①CHAR_CAP20,000→40,000(하드캡=안전망으로 격하) ②WARN_AT=25,000 신설 →CLEANUP-WARN출력 + 텔레그램 1회(auto_rebuild.sh가 build_brief 출력을.autorebuild_brief.out로 받아 grep, 센티널.autorebuild_warn= 실패 센티널과 같은 패턴·대상 목록이 바뀌면 재알림·해소되면 자동 삭제) ③포인터 bloat 감지선은CHAR_CAP*0.2상대값 → 고정 4,000(캡을 올리면 감도까지 같이 풀리는 결함 차단) ④센티널 3개.gitignore(.autorebuild_failing은 추적 중이라 실패마다 워킹트리가 더러워졌다). 검증 =WARN_AT을 15,000으로 임시 하향해auto_rebuild.sh실행 e2e 2회 — 경고 발생 시 센티널에BRIEF.pfs.md 16492자·HANDOFF.md 17858자기록+알림 전송(로그notify failed0), 25,000 복원 후 재실행하니 센티널 자동 삭제·rebuild OK 46s. 현재 최대치 = HANDOFF 17,858 · BRIEF.pfs 16,492(둘 다 경고선 아래). 2순위 원인(build_db.py"file exists but is not in the manifest", 7/31 147회 등) = 등록 전 5분 주기에 걸린 중간상태로 다음 주기에 자가복구되므로 손대지 않는다(규칙 =rules/repo.md). 규칙 갱신 =rules/repo.md·rules/runbook.md(캡 수치 3곳)·루트HANDOFF.md배너. - ✅2026-07-30 BRIEF 캡 초과 해소 — 세션 포인터 롤업(페페 지시 "캡 제한 정리먼저"). 증상 =
BRIEF.pfs.md20,108자로 캡 20,000 108자 초과 → 자동 재빌드가 계속 FAIL(03:40 로그, 내 FTS 작업 전부터). 진단 = 섹션별 크기 측정 결과 범인은 본문이 아니라 아카이브 포인터 4,972자(BRIEF의 25%) = 세션 문서 44건 나열.handoff/memory는clip_body6,000자 상한이 있어 안전한 반면session-*만 세션마다 +1로 무한 증가 → 구조상 어느 프로젝트든 결국 터진다(pfs가 44건으로 먼저 도달, 2위는 4건). 처방 =build_brief.py에ARCHIVE_SESSION_KEEP=8— archive의session-*은 최근 8건만 나열하고 나머지는projects/<P>/sessions.md1줄로 롤업(그 인덱스가 전량 보유 → 정보 손실 0, pfs 44건 전수 대조로 확인). 인덱스 부재 시 WARN(런북 위반 노출). 결과 pfs 20,108 → 16,251(여유 3,749). 세션 8건 이하 프로젝트는 항목 수·내용 동일하되 나열 순서만 바뀐다(비-session 먼저 → session 최신순 = 최근 세션이 위로 올라오는 개선, BRIEF 14개 diff는 전부 이 순서 변화). 부수로 루트HANDOFF.mdheadroom WARN(1,558<2,000)도 규칙대로 해소 = poincad2 7/27 완료 3건(967자) 원문 cut →projects/poincad2/archive.md(최근 2일 외 완료는 즉시 이관 규칙). 빌드 exit 0 · WARN 0 · 카운트 불변(tasks 134). 규칙 기록 =rules/repo.md"빌드·검증". - ✅2026-07-30 전문검색(FTS) 신설 — 시드 3층 구조의 빈 층 채움(페페 질문 "대규모 지식을 컨텍스트 낭비 없이 쓸 방법" → A안 = user_brief 범위). 진단 = 기존
mem_find.py는 manifesttopics태그 매칭뿐이라 태그 붙은 것만 찾았고, 도메인 KB 35개(furniture-expert/kb16·furniture-expert/practice18·ai-study/kb4 = 매니페스트 밖)는 검색 사각지대 = 쌓아도 못 쓰는 상태였다. 구현 =build_db.py에 FTS5 인덱스 빌드 추가(data/fts.sqlite, 2749섹션/15.7MB,projects/**/*.md전량을 H1~H3 섹션으로 분할 — manifest 무관이 의도) +mem_find.py --text <단어들> [--project <P>] [-n](단어 AND, 출력경로#섹션+스니펫이라 대개 Read 불필요, 검색 0.1초). 자동 스케줄러(user_brief_autorebuild5분)에 무료 편승 — venv sqlite 3.37.2 trigram 지원 확인. 신규 파일 0·신규 의존성 0. 🔑함정 2건(전문=rules/repo.md"전문검색") = ①토크나이저trigram필수 — 기본unicode61은 한글 조사를 못 넘는다(본문 "프리드릴은" ↔ 검색어 "프리드릴" 미스). 대가로 3글자 미만은 LIKE 스캔 폴백 ②fts5 가상테이블에LIKE '접두사%'금지 — SQLite 범위검색 최적화를 fts5가 못 받아 에러 없이 빈 결과(=·instr·LIKE '%'는 정상), project 필터는instr(path,?)=1. ③별도 DB 파일인 이유 =rebuild_report.ps1Step 3이user_brief.sqlite를 Evidence sources로 복사하는데 fts5 shadow 테이블 5개가 소스로 잡힌다. 검증 =mem_find.py --selftest8항목 + 실검색 4종(콘피마트/엣지+밴딩 AND+project/uwsgi/2글자 폴백) 전부 히트 +build_db.py카운트 불변(tasks 134). 진입점 노출 =C:\dev\CLAUDE.md§0·user_brief\CLAUDE.md§0 각 1줄(상주 토큰은 그 1줄뿐 = "컨텍스트 낭비 없이"의 실체). ⏳다음 후보 = C안(카톡 마이닝 KB·유튜브 자막 등 도메인 KB로 인덱스 확장) — A안 파이프라인이 검증됐으므로 대상 폴더만 늘리면 된다. - ✅실행 완료 3건 — 지시 성장 감사 후속 (2026-07-27 코디, 페페 "1,2,3 순서대로 작업한다"): ①루트
HANDOFF.md하드캡 20,000자 시행 —build_brief.py에 BRIEF와 동일한CHAR_CAP게이트 신설(전 BRIEF 기록 후 마지막에 체크 → 초과 시 SystemExit = autorebuild 로그 노출, 산출물은 이미 써서 무해). NOW 29항목 원문 전량을 프로젝트 문서로 cut 이관(삭제 0, 센티널 29/29 검증) → 39,399자 → 5,714자(85%↓). 신규 문서 12건 생성·등록(archive.md 11 + voicecody 프로젝트 신설 handoff.md,BRIEF.voicecody.md자동 생성). ⚠register_doc 다건 함정: 매 회 전체 validate를 돌려 미등록 형제 파일 때문에 상호 롤백된다 → 런북대로docs_manifest.json직접 append 후validate_manifest.py1회(181 OK). 커밋b0259a6. ②복합·열거 지시 항목체크 규칙 —rules/workflow.md"작업 원칙"에 신설(2개 이상 하위작업이면 A·B·C로 되읽고 보고 끝에A✅ B✅ C⏳(이유)표기, 미룸은 "다음 작업" 아니라 ⏳로 명시) +C:\dev\CLAUDE.md§4에 1줄 포인터. 근거=7/22 페페 교정, GPT-5.5가 "관측 1건이라 기각" 판정을 재기각(조용히 빠진 건은 계수 불가). 커밋2ad62b0. ③furniture-expert 규칙 3파일 신설 — 14일 131커밋 최다활동인데 규칙파일 0이던 공백 해소:rules.md(KB 직접수정 금지·3중 게이트·source 규약·KB-00 최우선 렌즈·연동 갱신 세트 5개)playbook.md(P1 마이닝 3소스 공통 5단계·P2 벌크루프·P3 코드실측형 KB 신설·P4 승인→스냅샷·P5 브리지)traps.md(T1~T10 = STT 오인식·refs 환각 전량drop·폴링 편집소실·orphan pid·스냅샷 20분·멱등 skip·practice 덮어쓰기·PFS 필드 추정금지·400KB 상태파일·KB 직접수정 유혹). 커밋d47debb. 잔여 관찰:projects/poin-agent/handoff.md33,970자·remote-access36,621자 등 프로젝트 handoff LINT WARN(6,000자 seed 예산 초과) 다수 — BRIEF는 클립되므로 빌드는 통과하나 다음 정리 후보.BRIEF.pfs.md여유 1,862자(<2,000 WARN). - 지시 성장 감사 (2026-07-27 코디, 페페 지시 "지금까지 세션 기록으로 내 지시가 어떻게 성장했는지 평가 + 보완점"): 트랜스크립트 전량 파싱 =
C:\Users\delix\.claude\projects15버킷·1230 세션파일·607MB → 사람 지시 1056건(중복제거 787), 2026-06-26~07-27 30일치만 보존(그 이전 자동삭제). 별도로 SDK/헤드리스 963건(C--Windows-System32버킷 = 통화전사 분류·워크플로 서브에이전트, 사람 지시 아님). 클로드 데스크톱 세션 폴더(별개, 확인 완료) =%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\→claude-code-sessions\=CC 세션 1건(6/27 "Lecture recordings organization", opus-4-8, bypassPermissions, cliSessionId는 공용~/.claude/projects/C--dev에 있음) +IndexedDB\https_claude.ai_0*=claude.ai(채티) 대화목록 캐시 22건(제목만, 본문은 서버) — 개인·조사성 주제(MDF 배송시간·미니PC GPU·헤르메스 요금·인스타 수익화·AI교육 현황 등). 성장 4단계(질적): ①증상보고형(6/26~28) →②위임형(6/29~7/12, "계획먼저") →③정책화(7/13~19, 배포등급[테스트 즉시/운영 명시]·cp949·매답변 시드갱신·지시문작성요령·서브에이전트 모델하한) →④메타구조(7/20~, CLAUDE.md 얇은 진입점+rules/분리·rules.md즉시기록·devplan 허브등록=기본작업). ⚠정량 지표는 적대검증 4자(서브에이전트 3 + GPT-5.5)에서 기각됨(2026-07-27 같은 세션) — "교정률 35%→2%"는C--dev-talklog-live(통화·강연 실시간 STT를 user 메시지로 흘리는 버킷)를 사람 지시로 집계 + correction 정규식 정밀도 실측 30~34%가 만든 오염값(C--dev만 재계산 = 7.1→2.9→2.7→5.1→2.2, 단조감소 아님). "지시당 턴 13→24→42"도 재현 불가(재계산 24.9→32.8→50.2→36.1→26.0, 7/06 정점 후 하락 / 세션이 주 경계 3개 걸침). "세션당 지시 2.0→6.6"은 dedup 재계산 시 3.33→3.35→4.41→4.27→3.38(평평). "607MB"는 분석대상 411MB(1230파일)와 서브에이전트 포함 폴더 전체를 혼용. "규칙화 108건"=raw 기준, dedup 63건. 채티 제목 "22건"도 V8 파서 naive 페어링 오염(조직명·국가목록·배너설정 혼입) → 고유 ≈17건 + 구 blob 세대에만 있던 실제 대화 2건 누락. 살아남은 것 = 데스크톱 폴더 위치·CC 세션 1건(앱logs\main.log"Loaded 1 persisted sessions" +entrypoint:"claude-desktop"가 그 파일에만 존재), 채티 본문 로컬 부재, System32=SDK 자동화(필드 확인), 30일 자동삭제(검증 중 6/26자 데이터 실시간 소멸 목격 +~/.claude/.last-cleanup증빙), 시드커밋 434건/31일. 오염 무관 강건 지표(신규 채택) = 문서에 날짜 박힌 페페 확정 규칙 수: 6/11·6/20·7/07 각 1 → 7/22~7/26에 7건 = 지시가 규칙·구조로 굳는 속도가 7월 하순 급증(질적 성장은 유지, 근거만 교체). 결손 6건: ①규칙 중복 산재(cp949 한 규칙이 8파일 = CLAUDE.md·rules/{tooling,notify,ytmine} +.claude/.../memory5개) ②projects/<P>/rules.md이행 3/30(pfs는traps.md로 대체 — 규약 불일치) ③루트HANDOFF.md62KB·완료✅ 18건 중 7/03~7/25건 잔존(규칙=최근2일 외 즉시 archive cut) ④inbox/chatty-*미회수 2건(cutmate 7/18·devplan 7/21) ⑤다항목 지시 후순위 누락(7/22 페페 교정 "왜 허브카드 등록을 다음으로 미루지") — 항목별 체크 보고 규칙 없음 ⑥트랜스크립트 30일 삭제로 지시 원문 아카이브 없음. 결손 재판정(4자 검증 후): ①규칙 8곳 중복 = 하향(문구 모순 0건·memory는 자동주입/rules는 수동Read로 채널 상이 = 의도된 이중화. 단 canonical=rules/tooling.md지정 + 드리프트 검사만) ②rules.md 3/30 = 축소(활성 프로젝트는 14일 커밋 기준 ~10개, 3건 전부 그 안. pfs는traps.md(6/10)·playbook.md(6/20)가 동급 대체재 → 이관 불요. 진짜 공백 = furniture-expert: 14일 131커밋 최다인데 rules/traps/playbook 0) ③HANDOFF 위생 = 유지·강화(4자 전원 합의, 유일): 실측 63,875~66,119B, 앞부분 Read만 3.1만 토큰.build_brief.py는 BRIEF에CHAR_CAP=20000+SystemExit하드게이트를 걸지만 루트 HANDOFF는 캡 대상 밖 ④inbox = 축소(cutmate 건은 같은 날 memory에 내용 흡수·정보손실 0. 단 "처리 후 archived 이동" 미준수는 chatty 한정이 아니라 inbox 루트 20여 파일 전반) ⑤다항목 누락 = 유지(GPT가 3인 기각을 재기각): 관측값은 페페가 잡아낸 건뿐이라 silent omission 계수 불가 + 분모는 787이 아니라 "복합지시"여야 함. 처방은 무거운 체크리스트 대신 1줄 규칙 ⑥지시 원문 덤프 = 폐기(899커밋+세션문서 56개가 서사 보존 + dedup 787건 중 9건에 계정·비번·메일본문 = PII 위험 증폭). 확정 실행 3건(4자 수렴, 페페 지시 대기): 1)HANDOFF.md에build_brief.pyCHAR_CAP 방식 재사용(20,000자 하드캡) + NOW 완료✅ archive cut 2)rules/workflow.md에 1줄 추가 = "복합·열거 지시는 항목별 A✅/B✅/C⏳로 보고" 3)projects/furniture-expert/에 rules·playbook·traps 최소 신설 +register_doc.py등록. 미조사 공백:claude_desktop_config.json에remoteToolsDeviceName="poin-mini"·ccRemoteControlDefaultEnabled=true→ poin-mini(100.108.234.45)의 데스크톱 데이터·세션 미확인(이 PC AppData만 조사). 분석 스크립트는 스크래치패드(채택 시user_brief/scripts/로 이관). - 전역 지침 재편 —
C:\dev\CLAUDE.md얇은 진입점화 +C:\dev\user_brief\rules\신설 (2026-07-24 코디, 페페 지시): CLAUDE.md 18.7KB로 비대 + 세션 시작 시드복원 구문이 문서 하단에 묻혀 안 보임 → ①§0을 최상단으로 신설(1 user_brief 시드체인 ①HANDOFF→②CLAUDE→③BRIEF.global→④BRIEF.+ 채티 inbox 회수 / 2 규칙파일 로드표 / 3 작업 전 필수 3단계 / 4 작업 끝 루틴) ②세부 규칙을 카테고리 4파일로 원문 그대로 이관(삭제 0):
rules/tooling.md(자주실수 체크리스트+명령 규칙 cp949)·rules/workflow.md(작업 원칙·Git/배포·위험작업·시드 갱신)·rules/notify.md(broker 표준+notify-step/done 복붙)·rules/ytmine.md(영상 파이프라인). CLAUDE.md=4.4KB(진입점+반복사고 4줄 요약+환경). ③규칙 파일 user_brief 통합(페페 추가지시):C:\dev\rules\→C:\dev\user_brief\rules\로 이동, 구 폴더는 소프트딜리트C:\dev\_trash\rules-softdeleted-20260724\(내용 보존). ④user_brief/CLAUDE.md도 동일 재편: 시드 체인 §0 최상단 + 규칙 인덱스만 남기고rules/runbook.md(세션 운영 런북 canonical)·rules/repo.md(멀티프로젝트 구조·빌드검증) 분리, 전역 항목(MCP 도구 제약·라이브러리 학습)은rules/tooling.md로 흡수. ⑤루트 HANDOFF NOW 규칙 신설(페페 지시): NOW=진행중·미결·제안만, 완료(✅)는 그 답변에서 바로projects/<P>/archive.md원문 cut 이관, 예외=최근 2일 완료는 NOW 유지. 지침을rules/runbook.md·HANDOFF.mdNOW 배너·양 CLAUDE.md에 표기 + 실제 이관 12건 실행(pfs2·talklog2·user_brief2·browser-automation·devplan·acad-tread·remote-access·dwgcompare·furniture-expert 각1,### ✅ 최근 완료섹션 소멸). 신규 archive.md 4건(browser-automation·devplan·remote-access·dwgcompare) 생성+매니페스트 등록(161엔트리,validate_manifest.pyexit 0). ⑥포인터 동기화:HANDOFF.md·GLOBAL_CLAUDE_INSTRUCTION.md·CONNECT_FROM_SARA.md·양 CLAUDE.md 경로/런북 포인터. 검증=센티널 52/52 + HANDOFF 원본 59줄 전수 현행 HANDOFF·archive에 존재(소멸 1줄=이관으로 빈 섹션 헤더, archive에 경위 기록). 규칙 변경 시 =user_brief/rules/해당 파일만 고치고 CLAUDE.md §0 표 유지. - 관계도 드래그 후 오클릭 방지(2026-07-05 코디, 8788 라이브): 카메라 회전 드래그를 놓을 때 커서 밑에 노드/관계선이 있으면
click이 발동해 selectNode/selectEdge가 화면(카메라 target)을 이동시키던 문제 수정. 루트 = 브라우저click이 드래그 후 mouseup에서도 발생·드래그와 순수 클릭 미구분. 해결 =pointerdown좌표 기록 →pointerup이동거리 >4px면dragged플래그 → 이어지는click1회 무시(플래그 리셋). 단일출처build_graph.py(792줄) 3줄 추가 후 재생성 → static/build graph.html 동기. 검증 = 서빙본100.108.234.45:8788/docs/graph(200)에 패치 토큰 4개 확인. - 관계도 3D 은하 관계망 교체(2026-06-23 코디, 8788 라이브):
/docs/graph를 행성·위성 2D SVG → Three.js 3D 은하 노드 관계망으로 전면 교체. 문서=노드·공유 토픽=문서간 관계선(kNN 상위6, 광범위 토픽 >12문서 제외)·프로젝트=은하 중심(수많은 별 핵·친화도 force). 클릭=확대+상세패널(선택노드 최상단·집계·긴밀한 순 리스트·항목클릭 포커스이동), 호버=이름, 줌 키조합(기본×3·Shift×5), 문서열기=실제/docs/<P>/<stem>.html. 댓글·히스토리·필터 제거.build_graph.py템플릿 교체(1774→870,build_model()재사용). three.js=report/static/graphlib/로컬 번들(git 추적). 라벨=얇게·글로우제거·슈퍼샘플·20%↓. 검증 Playwright PASS·표준재빌드 2회 OK. 상세=세션session-2026-06-23-graph-3d-galaxy-rebuild.md. (구 2026-06-12·13 관계도 항목은 2D SVG 시절 — 이 교체로 대체됨.) - BRIEF 구조개편(2026-06-20, 페페 지시 —
95592bc·3d9a7d8): ①캡CHAR_CAP15000→20000(HEADROOM_WARN 2000) ②결정=프로젝트별+essential:true전역만 인라인, 그 외 전역은 1줄 포인터(data/decisions.json)로 반복 bloat 제거 ③playbook category 신설(allowlist 추가) — 프로젝트별playbook.md(반복작업 절차+참고 포인터), BRIEF는 발췌 1400자+포인터 ④메인 BRIEF(global)·HANDOFF·런북에 '작업 전 필수' 지침(도구 확인·로드[tool_search deferred]→playbook 유사작업·포인터 확인→필요 포인터만 수집). pfs playbook 작성 완료(projects/pfs/playbook.md)=템플릿. 미결: 타 프로젝트 playbook 롤아웃·memory.md 본문 필수화 정리(콘텐츠 작업, 작업 시 점진). - user_brief = 로컬 우선 시스템: SARA 노션 콘텐츠(로컬) → SQLite → Evidence 정적 HTML 읽기전용 리포트 → 독립 서빙.
- 목적: RDS 비용↓ · 토큰↓(결정형 생성) · 채티 직접작업↓ · 읽기전용 뷰. 전체 프로젝트 관리 + 동료 공유 후보 → SARA 비종속(독립성 우선).
- A안(Evidence 단독) 확정. M1·M2·M3·M3b·M4·M5 완료 — 각 단계 코디 구현 + 채티 독립 교차검증. M4(멀티프로젝트 전환) 8단계, M5(user_brief 2번째 프로젝트 편입) 전부 로컬 검증 통과(Playwright 8/8).
- M3b 완료:
/SARA허브 본문을 방식②(iframe/docs/SARA.html, 자동 렌더)로 전환. 복사 스냅샷(방식①) 제거 → 재빌드 시 SARA.md 변경 자동 반영. 채티 교차검증 통과(빌드 HTML에 iframe 1·본문텍스트 0·/docs/SARA.html200·Playwright 8/8). - S6 = 독립 서빙(SARA 비종속). 로컬 완료(
serve_report.ps1·127.0.0.1:8788). 외부 공유(Tailscale)=대기 항목(지금 작업 없음). - M4 멀티프로젝트·에이전트 시드 전환 = 구현 완료(1순위: 에이전트용 메모리/시드, 컨텍스트 한계 극복·토픽 자동 복원). 결과:
docs/(단일) →projects/sara/(멀티), 단일docs_manifest.json카탈로그(glob 폐기), 문서 URL/docs/sara/<stem>.html네임스페이스,tasks.project컬럼,data/decisions.json(active), 토큰0BRIEF.sara.md·BRIEF.global.md,inbox/(임시물 격리),export_notionstaging 격하. 8단계 상세는design.md(구 PLAN §13). 기존 "docs/SARA 재구성"은 M4에 흡수(rename 폐기, 이동만). - SARA↔user_brief 연결 = 결정·SARA 세션에 위임. SARA(에이전트)가 user_brief
BRIEF.sara.md를 단방향 읽기로 참조(자기 메모리 복원·토큰 절약). 연결 구현은 SARA 프로젝트 세션에서 별도 진행(SARA 코드 변경·운영 영향·착수 시 승인). 방법 가이드 = 루트CONNECT_FROM_SARA.md. user_brief는 SARA 비종속 유지. - M5 완료:
user_brief자체를 멀티프로젝트의 2번째 프로젝트로 편입(SARA와 동일 방식).projects/user_brief/memory.md+docs_manifest.jsonub-memory엔트리 +data/decisions.jsonuser_brief 4건 +BRIEF.user_brief.md. tasks·docs_pages 없는 memory 단독 프로젝트라build_brief.py에 최소 방어 2곳(# per CODI_M5) 추가. SARA 산출물 불변(tasks 89·docs_pages 7). - 지침 정합(2026-06-12 코디):
GLOBAL_CLAUDE_INSTRUCTION.md컨텍스트 안내 80%(stale) → 런북 포인터+요지(40%/10% 단위·60% 이전 권고)로 교체. 코디 전역C:\dev\CLAUDE.md에 런북 포인터 동기화 규칙 추가(drift 재발 방지). - 관계도 개편(2026-06-12 코디, 페페 7건 지시): 기본 전체확장+3축 ON+전체 토글 / 친화 레이아웃(관련 프로젝트 인접)+위성 상호지향+≥3 허브-스포크 별자리(추천안) / 위성 전개·수축 애니메이션+무중력 부유(5변주)+호버 무채색 포커스+스무스 줌+fit-to-content / 관계선 히트영역 12~16px(선굵기 불변). pfs 테스트 문서 2건 삭제(manifest 74, finance 어휘 보존).
build_graph.py단독 +report/tests/graph_e2e.spec.ts신설 — 표준 Playwright 10 → 17 테스트(기존 10 + 그래프 7). 3D는 보류(참고). - 관계도 후속 3건(2026-06-13 코디): 위성 상한(8+번들) 제거 = 전 문서 항상 전개(fit 하한 0.15) / 클릭 강조 고정(pinned focus — 빈 화면·다른 대상 클릭까지 유지) / 프로젝트 간 선은 전체 축소에서만(문서 단위 선과 중복 제거). graph_e2e 10테스트 — Playwright 총 20/20.
- 다음 = (대기) S6 외부 공유(Tailscale, 별도 승인) / topics 보강 / 추가 프로젝트 편입 시 동일 패턴 반복.
- 보류: GitHub push(원격 origin은 이미 존재·동기, push만 별도 승인)·hub 프로젝트 등록(사용자 취소).
불변 핵심 (경로·ID·인증) — 절대 보존
- 리포:
C:\dev\user_brief— git, 브랜치master. 커밋:e2d197a→b04803f→5c0bb06(M1) →5bc11b5(M2) →c856a72(S6 로컬) →42efb77(M3) →854c38f(M3b) →8d88e49(M4) →a5f2367(M4 해시기록) →106602e(M5) →3c41873(M5 해시기록·로컬). ⚠ 원격origin존재(git@github.com:delix0731/user_brief.git,origin/master=854c38f동기). push 보류(별도 승인) — M4·M5 커밋 4건은 로컬만(origin 대비 4 ahead, 미push). - 노션 토큰: 키
NOTION_API_KEY@C:\dev\SARA\.env— 값 출력·문서화 금지, 런타임 로드만. - SARA 허브 페이지:
36c9512d94698136b5bcd078bf9c7be6 - 트래커 DB:
14a05dd7a8754e27861a6e8d6ba00523/ data source:37ebefdd-4151-4b7c-81f3-3325da9e43be -
트래커 스키마(한글 property·89행): 작업(title)·Phase(select)·담당(select)·상태(select)·우선순위(select)·그룹1(select·G1~G8)·그룹2(select)·비고(rich_text). Phase 값 = Phase 0~3 + 빈값 3건. status 데이터 = 대기·진행중·완료(보류 없음).
-
관계도 그래프(2026-06-23~):
/docs/graph=scripts/build_graph.py가 생성하는 Three.js 3D 은하 노드 관계망(단일report/static/docs/graph.html, render_docs 뒤 build_graph가 재생성 = 파이프라인 포함). 의존성 =report/static/graphlib/three.module.js+OrbitControls.js(r160, git 추적·/docswipe 밖) — 미존재 시 three@0.160.0build/three.module.js·examples/jsm/controls/OrbitControls.js재배치로 복구. importmap"three"→/graphlib/three.module.js. 문서 노드 href=/docs/<project>/<stem>.html. 댓글서버(8789)·graph_comments/history.json는 더 이상 미사용(코드 제거).
문서 인벤토리 (M4: projects/sara/에 .md 8 / M5·M6: projects/user_brief/에 .md 4)
파일명 보존(이동만, H1 불변). 카탈로그 = 루트 docs_manifest.json(12엔트리: sara 8 + user_brief 4(ub-memory·ub-handoff·ub-design·ub-archive). 필드 id·project·filename·category·order·title·topics·seed). docs/·docs/_order.json 소멸.
1. SARA.md(sara-hub·index·seed) 2. 🗂️ 세부 상의 — SARA 시스템 설계.md(design) 3. 📦 SARA 통합 인수인계서 (최신·단일 시드).md(handoff·seed) 4. 🗄️ 인수인계서 이력 아카이브.md(archive) 5. 🚨 [긴급·1순위] 멀티에이전트 통합 아키텍처 — 세부 상의 (cmdboard 자원 참조).md(design) 6. 협의 결과 — (다) CLI 러너 설계 확정 (hub 28, 2026-06-01).md(design) 7. 🔍 EVALUATOR 웹페이지 실사용 평가 — 설계 제안.md(design) 8. memory.md(sara-memory·memory·seed, 신규).
- 표시 제목 = manifest title(이모지 제거). 본문 H1은 불변(표시 제목과 별개). docs_pages는 memory 제외 sara 7 + user_brief 3 = 10행(memory는 웹 문서 아님 = BRIEF 시드).
- 삭제됨(M3·git rm): 협의 결과 — 취침 무인 작업 …의 코디 무.md(이력 복구 가능).
확정 결정 (단일 출처)
확정 결정은 data/decisions.json이 단일 출처입니다(active만, project 필드, global 포함). 문서에는 나열하지 않으며, 빌드 시 BRIEF.<project>.md가 자동으로 포함합니다.
대기 작업 (S6 외부 공유 — Tailscale)
Tailscale로 외부(다른 직원) 공유 — 대기, 지금 작업 없음. Evidence 정적이라 바인드/호스팅만 변경, SARA 분리 부담 0. 노출 범위 확대라 착수 시 별도 승인.