Skip to content

Releases: byh3071-cpu/vhk

v2.9.0

Choose a tag to compare

@github-actions github-actions released this 02 Jul 04:30
2715a18

Added

  • vhk watch — 무인 세션 정지 감시 (트랙 A 수준 2: 감지+알림) (#441) — 2026-07-01 밤샘루프 무감지 사건(8.5h) 재발 방지. Claude Code 세션 로그(~/.claude/projects/<proj>/<session>.jsonl) mtime 폴링 → idle 초과(기본 15분) 시 stalled 1회 알림(재알림 금지)·활동 재개 시 recovered+재무장. 알림은 텔레그램(VHK_TG_TOKEN·VHK_TG_CHAT_ID, 미설정 시 콘솔 전용을 시작 배너에 명시, 발송 실패는 삼키고 감시 루프 생존). 완료/멈춤은 로그만으론 구분 불가 — 둘 다 확인 신호로 정직하게 알림. 감시자는 에이전트가 아닌 경량 폴러(공멸 방지). 옵션 오입력은 fail-fast(silent 기본값 폴백 금지 — 사건 교훈). 하위폴더(서브에이전트·워크플로) 로그 제외, 메인 세션만 depth 2 스캔. 한글별칭 감시, --once 1회 점검 모드, --idle-min/--interval/--window.

Docs

  • TS-005 확장 — 디렉토리 rmSync 도 silent exit 127 재현 확정 (#441) — 노트북(Windows·Node v24.13.0)에서 파일·디렉토리 모두 node -e 한 줄로 결정적 재현(샌드박스 무관). tmp+rmSync cleanup 패턴이 vitest 워커를 즉사시켜 이 머신에서 스위트 실행 불가였던 근본 원인. 회귀 방지 패턴을 "신규 rmSync 금지(파일·디렉토리 모두), cleanup 은 unlink+rmdir 재귀(tests/watch.test.ts rmTree())"로 갱신.

v2.8.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 04:43
7409055

Added

  • 자가진화 복리 척추 5개 (N-series) — 측정→진단→개선→재측정 루프의 "다음 한 수를 누가 부르나"(전부 사람)를 자동화. 폐회로: win→reinforce→evolve digest→apply(사람)→RULES→receipt(objective 대조)→receipt-log→stats --trendloop --tick.
    • vhk win 성공 기록 (N3, #434) — vhk learn(실패/교훈)의 성공 쌍둥이. memory v2 successes 에 append → pattern reinforce 입력. ✅/❌ 대칭. 한글별칭 성공.
    • reinforce evolve 확장 (N2, #434) — evolve generateCandidates 필터를 avoid|reinforce 로 확장 → 버려지던 성공패턴도 룰 후보로 복리. RULES 반영은 apply 사람 승인 유지(철칙).
    • vhk stats --trend (N6, #435) — receipt-log.jsonl 시계열 추세(거짓완료 판정 block율 델타·red/dirty율·diff-cover 평균). 표본 부족·미측정은 null(0 위장 금지·표본수 정직 병기).
    • vhk loop --tick (N1, #436) — 읽기 전용 자가진화 조율자. 폐회로 상태(HARD_STOP·블로커·진화 대기·추세·미제안 패턴·goal)를 읽어 "닫힌 것/다음 한 수" 1장 합성(집행 0·결정경로 LLM 0·결정적 우선순위). 한글별칭 .
    • objective 토큰 교집합 advisory (N4, #437) — receipt 의 mission.objective ↔ (goal.title+commit) 결정론 토큰 교집합(LLM 0, tokenize 재사용). overlap 0 → caution 까지만(block 절대 금지·단조성 불변식 보존·undefined 미계산=하위호환).
    • vhk evolve digest (N5, #438) — pending 룰 후보를 신뢰도별(빈도 기반) 묶음 초안으로 출력(읽기 전용·자동 apply 배제·PR 초안용). 한글별칭 묶음.
  • receipt-log.jsonl 영속 (N7, #431) — vhk receipt 발행마다 decision·기계증거 요약을 .vhk/events/receipt-log.jsonl 에 append(측정 토대, stats --trend 가 소비). 자기참조 봉인(self-tracked) 유지.
  • vhk receipt — 거짓완료 탐지 영수증 MVP (Goal 86, RFC 0056 T1, #377) — 에이전트 "완료" 시점에 4대 기계증거(tsc/test/build 종료코드·git dirty[자기파일 제외]·작업시작 SHA≠HEAD stale·변경라인 diff-cover)를 영수증 1장(.vhk/receipts/<id>.{json,md})으로 조립. decision = block|caution|pass 는 기계증거 전용(LLM 0)·단조성 불변식(caution→pass 격상 금지)·diff-cover 는 advisory(decision 격하 불가). 등록 4지점 + 한글별칭 증거영수증 + 드리프트 테스트. 한글별칭/.md 정직성 1줄("게으른 거짓완료를 잡지, 미묘한 오류는 못 잡는다"). ※ T1 본체 — 효과 입증(T3=거짓완료 적발 1건)은 후속.

Fixed

  • readMission 스키마 검증 누락 — 손상 mission.json 이 vhk receipt/mission check 크래시 (#432) — 밤샘 무인 결함루프 발굴. 스키마 가드 추가(최소·범위 내).
  • vhk review — goals/ 비었을 때 exit 1 오인 (#433) — 선택 기능 미사용(빈 goals)을 실패로 처리하던 것을 경고 후 스킵(exit 0)으로 정정(#157 정책 일관). 밤샘 무인 결함루프 발굴.
  • vhk goal done 파이프 조기종료(EPIPE) 시 상태 전이 누락 + exit 255 차단 (#287) — 게이트 통과 후 상태 write(frontmatter→DONE)를 게이트 출력보다 먼저 수행. Windows 는 파이프 write 가 동기라, 소비자가 출력 도중 파이프를 닫으면(예: ... | Select-Object -First 3) console.log(gate.out) 이 EPIPE 를 throw 해 스택을 풀고 atomicWriteFile 전에 함수를 빠져나가던 게 원인 — 부수효과(상태 전이)를 출력보다 앞세워 출력 소비 여부와 무관하게 전이를 보장. 추가로 CLI 진입점에서 stdout/stderr 의 EPIPE 를 정상 종료(0)로 흡수. 회귀: 게이트 출력 print 가 EPIPE 로 죽어도 DONE 전이 보존.
  • verify 자기참조 봉인 (Goal 85, #315, #370) — dirty 판정에서 vhk 자기 산출 추적파일(.vhk/ledger.jsonl·.vhk/events/*.jsonl)을 제외(src/lib/self-tracked.ts 단일 SoT). verify 직후 자기 ledger append 때문에 늘 거짓 "낡은 증거(dirty)"로 done/release 게이트를 막던 자기모순 해소. 과확장 0·퇴행 0 테스트 고정.
  • recall 자유형식 쿼리 NL 라우터 가로채기 차단 (#313, #365) — recall/회상 쿼리에 트리거 단어(어떻게·보안·롤백 등)가 섞여도 NL 라우터에 가로채이지 않고 commander 로 위임(FREEFORM_ARG_COMMANDS 에 추가). 흔한 한국어 쿼리에서 메모리 검색이 무에러로 불능이던 문제 해소.
  • goal·memory 파괴적 입력 검증 강화 (#317·#318, #367) — goal check/done --id 빈/공백 값(Number('')===0 으로 goal 0 오염)과 memory remove/archive 부분파싱(parseInt('2zzz')=2·'1.5'=1)을 정수 정규식으로 거부 — 엉뚱한 항목 DONE/삭제 차단.
  • secure .env.example placeholder 오탐 차단 (#316, #369) — env 템플릿 파일(.env.example/.sample/.template)의 명백한 placeholder 토큰(ghp_xxxx…·xoxb-your-…)을 진짜 CRITICAL 시크릿으로 오탐해 verify 전체를 FAIL 시키던 문제 해소. false-negative 0 가드(진짜 시크릿·주석 시크릿 검출 불변) + repo self-scan 회귀 가드.
  • .vhk 일회성·사적 산출물 gitignore (#331, #368) — recall-log.jsonl·recall-eval.json(사용자 검색어 원문) 등 일회성/사적 산출물이 git 에 노출되던 갭 차단(ledger.jsonl·events/ 추적은 유지).

v2.7.0

Choose a tag to compare

@github-actions github-actions released this 23 Jun 04:20
11174e5

Added

  • 풀사이클 뒷단 4트랙 vhk content·launch·ops·sell (Goal 74~77, RFC 0052, #284·#293·#294·#295) — 바이브코딩 뒷단(콘텐츠·런칭·운영·판매)을 앞단과 동일한 "상태수집 + 체크리스트 + 프롬프트 생성" 자문 패턴으로 채움. 전부 초안만 — 발송·결제·삭제 0(헌법 실패비용 high 배제). src/lib/emit-prompt.ts 공유 헬퍼 단일 SoT + Fable5 프롬프트 위생(✅/❌ 예시쌍·수치 하드리밋·"승인 전 발송·결제 금지") 상속. MCP 읽기전용 32→35. ship(코드 npm 배포)≠launch(제품 공개) 구분 명시.

  • vhk init 기타(other) 프로젝트 타입 + 스택 직접 입력/건너뛰기 — OS·게임·임베디드 등 5개 프리셋 밖 프로젝트 지원. ① 타입 선택지에 🧩 기타 — 직접 입력 추가 ② 기타 선택 시 스택 자유 입력(쉼표 구분 — 전각 ,·모점 、 포함, Enter=미정으로 건너뛰기) ③ 추천 스택 거절 시 즉시 취소 대신 직접 입력 기회(Enter=기존처럼 취소) ④ 비-JS 매니페스트 언어 감지 detectManifestLangs(Cargo.toml→Rust, go.mod→Go, pyproject.toml/requirements.txt→Python, Gemfile→Ruby, build.zig→Zig, CMakeLists.txt→C/C++) — init 전용 소비(resolveInitStack): JS deps 감지 시 병합(Tauri 류), 프리셋 타입에선 떠돌이 매니페스트가 명시적 --type 을 대체하지 않음, 프리셋 없는 other 만 매니페스트 사용. detectProjectStack 은 JS-only 유지(theme #158 src/ 오염 비회귀). -y --type other 비대화형은 프롬프트 0 + 미정 폴백.

  • vhk goal peek + goal next 비파괴 전환 (Goal 78, #303) — goal next 가 active goal 을 파괴적으로 넘기던 동작을 비파괴화하고, 상태 변경 없이 다음 goal 을 들여다보는 vhk goal peek 추가.

  • 도그푸딩 하드닝 — 증거 신선도·정합 일관성 (Goal 80~84, RFC 0053, #310·#311·#312·#332·#348) — ① vhk review 증거 신선도 연결: 기록 SHA≠HEAD 또는 dirty 면 "낡음" 강등 ② 제품 설명 단일 SoT(index.ts .description 런타임 주입) ③ .vhk 증거 원장 ledger.jsonl 추적 정합 + 정책 가드 ④ secure 테스트 픽스처 false positive MEDIUM→INFO 강등 ⑤ doctor/status next-step 맥락 인지(신규 vs 기존 레포 분기).

  • SEO 무인 자동화 범위 완료 (Goal 22~26, #307) — init·submit·check-index·check-revenue·report 무인 트랙 + RFC 0054 자율형 진화 로드맵.

  • Fable5 배치3 — 규칙 재주입·부정 예시·high-risk 옵트인·상속·스캔 (Goal 68~72, #282·#283·#285·#277) — vhk remind(치명 규칙 재주입), vhk evolve 부정 예시 자동 수집, MCP high-risk 도구 옵트인 정책(save confirm 게이트), vhk init core-ruleset 마커블록 상속, secure PAT 휴리스틱 스캔.

  • vhk-auto 오토파일럿 1단계 MVP 스킬 (#291) — active goal 1개를 사람 개입 없이 한 바퀴 자율 구동(앵커→개발→검증→적대리뷰→commit). 외부 발송·이슈 등록·코드 집행 0.

Fixed

  • 거짓 성공 위장 차단 (#346·#340·#341·#281) — 미인식 명령을 exit 1 + stderr 로 정정(exit 0 성공 위장 차단), MCP NL 미인식·audit 불명을 성공으로 위장하던 거짓 보고 차단, MCP 도구 수 드리프트 정정.
  • HARD_STOP 가드 강화 (#334·#335·#336·#337·#338) — goal sync·seo init·seo submit 가드 누락 보강, undo HARD_STOP 우회 + non-TTY 크래시 차단.
  • vhk resume exit 127 (#353) — clearHardStop 의 rmSync→unlinkSync 로 이 환경 silent exit 127 수정.
  • MCP 위임 CLI 버전 스큐 (#339) — 동봉 dist 우선으로 전역 vhk 버전 스큐 차단.
  • vhk goal 컨테이너 help 정합 (#347) — 컨테이너 description 에 peek 추가.

v2.6.0

Choose a tag to compare

@github-actions github-actions released this 12 Jun 08:41
99922a9

v2.5.1 이후 main 누적분 백필(2026-06-11 전수 리뷰 G-01에서 공백 발견) + 전수 리뷰 Top 10 즉시수정.

Added

  • vhk sync --check — 8개 sync 타겟 drift 검사 모드 (Goal 63, #266) — 쓰기 0, 생성 로직(buildSyncPlan) 재사용으로 검사기 자체의 drift 차단, drift 시 exit 1(CI/게이트용).
  • governance 배치 — 기록 집행 + 문서 인덱스 + 게이트 4종 (T1~T5, #261·#263) — ① 기록 집행 hook(코드 커밋 시 당일 dev log 스테이지 강제, [skip-record] 우회) + Stop 자문 넛지 ② docs/README 대시보드 + goals 인덱스 자동 생성(gen-goals-index) ③ check-rules-sync·check-commands-doc·check-goal-frontmatter 게이트 ④ .vhk spec v1.1(하위 폴더 공식화·트래킹 정책 확정) ⑤ 첫 실제 ADR 4건 + MCP 진화 카탈로그 + 회고 백필. .gitattributes 신설(*.mjs/*.sh LF — 셔뱅+CRLF로 Windows CI 전멸하던 결함 차단).
  • COMMANDS.md 전 명령 커버리지 (Goal 64, #266) — 전체 명령 카탈로그 표(registry desc 1:1) + command-registry 기반 테스트가 미문서 명령을 CI에서 차단(기존 미문서 32건 → 0).
  • auto-merge 무인 머지 스킬 + @claude 리뷰 반영 워크플로 (#262·#264·#259·#255) — auto-merge 라벨 PR을 4중 게이트(CI·diff 상한·CodeRabbit 해소·적대 리뷰) 통과 시 무인 squash 머지 + CodeRabbit 자동 PR 리뷰 설정. 머지·publish 권한은 여전히 사람.
  • vhk recall — 기억 회상 MVP + 검증 하네스 (RFC 0049, #232·#233) — 키워드 검색 + 위험 작업 직전 just-in-time 과거 교훈 경고 + 사용 로그/eval(Recall@5·MRR).
  • vhk diff-cover — diff 커버리지 측정 (RFC 0050 PR1, Goal 50, #236·#239) — 변경 줄 중 미검증분 자문 측정(차단 0). +++/--- 본문 오인 파서 픽스 포함.
  • vhk cost — 비용·예산 가드 (Goal 56, #234) — 자문형 비용 원장 + 양방향 입력.
  • vhk stats·AI 행동 원장·위험 글롭 가드 (Goal 55·57·59·61, #238·#252) — 가드 통과 행동 영속 기록(.vhk/events/) + 대상 글롭 위험 평가 + scan-incomplete 신호.
  • vhk seo init (Goal 21, #214) — SEO 대시보드 스캐폴드 + 사이트 등록 + 키 보관(Env 참조). SEO 22~26 scaffold(#252).
  • CI 멀티 OS/Node 매트릭스 (Goal 47, #227·#229) — ubuntu·windows × node 22·24 + engines.node >=22 정직화.
  • MCP↔CLI 계약 테스트 + fast-check 속성 테스트 (#212·#213) — 위임 드리프트·파서 불변식 회귀 봉쇄.
  • handoff 미기록 ADR/TS 후보 자동 보고 (RFC 0051, #253).
  • 시크릿 패턴 7종 추가 (전수 리뷰 C-01) — GitHub fine-grained PAT(github_pat_)·OAuth(gho_/ghu_/ghs_/ghr_)·npm(npm_)·Slack(xox*-)·Google(AIza)·Stripe(sk_live_/rk_live_)·Notion(ntn_) + 17패턴 전수 단위테스트.

Fixed

  • 도그푸딩 버그 8건 일괄 (#243~#250, #254) + 퍼징 발견 파싱 가드 3건(#218~#220, #224) + cloud/blocker/goal check·theme·ref/memory 소픽스(#221~#223·#226).
  • 자연어 오라우팅 5계열 (전수 리뷰 F2-01~05·08) — "컨텍스트 업데이트해줘"가 무확인 자가업데이트로, "버전 올려줘"가 git 커밋으로, "검증 실행해줘"가 아이디어 마법사로 새던 것 등 실측 13케이스 수정 + 회귀 가드.
  • 거짓 성공/음성 제거 4건 (전수 리뷰) — BOM goal 파일에서 goal done이 변경 없이 "✅ DONE" 출력(A3-02) · vhk audit 해석 실패를 "취약점 없음"으로 보고(B1-01) · recap CLAUDE.md 갱신 무매치에도 "완료"(A3-03) · MCP에서 가드 차단을 "✅"로 보고(A1-03).
  • 데이터 보호 2건 (전수 리뷰) — 손상 refs.json을 빈 배열 취급 후 덮어써 전체 소실되던 경로 차단(B1-02) · memory.json 쓰기를 atomicWriteFile로 통일해 동시 세션 tmp 충돌 제거(A2-02).
  • publish 가드 강화 (전수 리뷰 A3-01/04) — untracked 신규 src 파일 발행 차단(빌드 포함분) + git 상태 실패 시 fail-closed.
  • review advisory 기본 모드 (#157, #226) — skip/미검증만으로 거짓 실패 안 함.

Changed

  • eslint type-aware 결함룰 확대 (Goal 49, #230) + tsc strict 플래그·async 안전성 게이트(#216) + silent-fallback 린트 리포트 v0(Goal 27, #207).
  • MCP↔CLI git 단일 진실원 (Goal 48, #228) — git-session 추출, 인라인 재구현 제거.
  • 릴리즈 준비 게이트 (Goal 42, #206) — CHANGELOG 빈/플레이스홀더 본문 차단.
  • harness/audit 중첩 패키지 발견 (#171, #225) — 루트+nested 점검.
  • init 생성 템플릿 정비 (전수 리뷰 F1) — PowerShell 미호환 && 안내 제거(vhk save로), 유령 /done 커맨드 → vhk recap, 기술 스택 섹션 생성, 시작/핸드오프 프롬프트에 blockers·dev log append-only 지시 추가.

Performance

  • CLI 콜드스타트 512→323ms (−37%) (RFC 0047 §9, #240) — inquirer 지연 로딩.

v2.5.1

Choose a tag to compare

@github-actions github-actions released this 08 Jun 02:11
c270ace

(CHANGELOG.md 에 [2.5.1] 항목이 없거나 비어 있음 — 본문 보강 필요)

v2.5.0

Choose a tag to compare

@github-actions github-actions released this 08 Jun 00:54

변경 내역 작성 필요.

v2.4.2

Choose a tag to compare

@github-actions github-actions released this 07 Jun 06:22

변경 내역 작성 필요.

v2.4.1

Choose a tag to compare

@github-actions github-actions released this 06 Jun 13:56

변경 내역 작성 필요.

v2.4.0

Choose a tag to compare

@github-actions github-actions released this 06 Jun 13:21

변경 내역 작성 필요.