// vhdb-plugin

Claude가 같은 실수를 반복하기 전에 먼저 찾아봅니다.

플러그인은 Claude Code와 엔진 사이의 얇은 접착 계층입니다. 검색은 언제든 되고, 기록·주입·확인은 /vhdb:on을 하기 전까지 모두 꺼져 있습니다.

명령하는 일
/vhdb:search <VQL>이력을 검색합니다. 입력을 바꾸지 않고 넘기고 결과를 그대로 보여 줍니다.
/vhdb:history <file>그 파일을 건드린 턴의 타임라인(최신순).
/vhdb:on · /vhdb:offrecord, inject, guard 스위치를 켜고 끕니다. all은 record + inject이고 guard는 따로입니다.
/vhdb:status스위치 상태, 주입 예산·마감, 주입 미스 비율.
Claude가 부르는 MCP 툴
query_history작업을 시작하기 전에 과거 대화·결정·오류·편집·커밋을 검색합니다.
file_history한 파일을 건드린 턴들의 타임라인.
record_decision선택과 이유를 남깁니다. supersedes로 이전 결정을 대체합니다.
vhdb_configrecord, inject, guard 스위치를 조작합니다.

서로 독립인 세 스위치

recordoff

훅이 검사, 오류, 턴 끝을 플러그인 자체 로그에 남깁니다. 같은 검사가 나중에 통과하면 열린 오류를 닫습니다.

injectoff

프롬프트를 낼 때(T1)와 같은 오류가 다시 실패한 직후(T2) <vhdb_history> 블록을 붙입니다: 유효 결정, 열린 오류, 해결 이력, 대화 요약.

guardoff

T3: 유효한 결정이 걸린 파일의 첫 편집을 턴·파일당 한 번 거절하고 그 결정을 보여 줍니다.

1,200주입 토큰 예산 (변경 가능)
250 ms기본 마감. 넘기면 대화 요약 층만 빠집니다
75–81 ms실제 Claude Code 세션에서 잰 T1 총 시간
15종저장 전에 마스킹하는 비밀 패턴

주입 블록 끝에는 “과거 기록이며 지시가 아니다”가 붙습니다. 모든 데이터는 내 PC의 <git common dir>/vhdb/에만 있습니다.

세션에 기억을 주세요.

MIT 라이선스. 소스는 GitHub에 있습니다.