"만들어줘" 한마디에 엉뚱한 걸 만들어 오고, "다 됐어요"는 믿기 어렵고. cat-harness는 그 습관을 끊는 Claude Code 하네스입니다 — 모호하면 묻고, 계획은 심사받고, 완료는 증거로 증명합니다. 설정 없이, 슬래시 명령 없이.
마스코트 쿼리(Query)는 모호도가 5% 아래로 내려올 때까지 움직이지 않습니다
이런 적 있죠
Philosophy
How it works
"만들어줘"라고 쓰는 순간 라우터가 요청을 분류합니다. 각 단계는 게이트를 통과해야만 다음으로 넘어갑니다.
Interactive
deep-interview의 실제 채점 방식 그대로 — 답할수록 모호도가 내려가지만, 앞서 한 말과 충돌하면 올라갑니다.
어디로 튈지 모르는 고양이를 위한,
하네스.
그래서 이름이 cat-harness입니다.
Design QA
픽셀 차이를 눈으로 잡는 시대는 끝났습니다. 시안의 숫자와 구현의 computed style을 기계가 대조하고, 어긋나면 완료를 막습니다.
디자이너의 "시안이랑 조금 달라요" 코멘트 — 받기 전에 잡으세요.
Agents
비싼 에이전트 하나에게 전부 맡기는 대신, 읽기 전용 셋이 검토하고 쓰는 건 하나뿐입니다.
증거에 기반한 계획 초안과 RALPLAN-DR 심의 요약을 작성합니다. 본문 대신 영수증만 반환합니다.
아키텍처·코드 양면에서 계획과 결과를 리뷰합니다. 근거 없는 승인은 없습니다.
실행자가 추측 없이 따라갈 수 있는 계획인지만 봅니다. 테스트 가능성, 순서, 롤백.
승인된 계획만 구현합니다. 작고 되돌릴 수 있는 diff, 모든 주장엔 증거를 붙입니다.
Code graph
네 워크플로 모두 저장소의 코드 그래프(호출 관계 지도 — 어떤 함수가 무엇을 부르는지)를 씁니다. 인터뷰는 기존 코드 맥락을 잡고, 계획·실행 담당은 바꾸려는 파일이 어디까지 번지는지 — 변경 파급 범위(blast-radius) — 를 받습니다. Node 18+만 있으면 되고, 따로 설치할 것은 없습니다.
Evidence
목표를 "끝났다"고 말하려면 CLI가 품질 게이트를 통과시켜야 합니다. 아키텍트 승인, QA 통과, 실물 증거 파일 — 하나라도 없으면 거부됩니다.
$ node cat-state.mjs goal checkpoint --goal G001 --status complete --quality-gate-json gate.json # fail-closed validation… architect_review.verdicts { architecture: CLEAR, product: CLEAR, code: CLEAR } → APPROVE qa.status passed · commands 4 · artifacts 3 (PNG ✓ ≥4096B ✓) design-qa Critical 0 · Major 0 · figma export ↔ impl screenshot # receipt minted plan_generation_sha256 9f4e2c81…d07a ledger_event_id a1b2c3d4-… (anchored) verified_at 2026-07-17T07:42:11Z G001 ✓ complete — 이후 goals.json이 1바이트라도 바뀌면 receipt verify가 실패합니다
스크린샷은 파일 크기와 PNG 매직 바이트까지 검사합니다. Figma 링크가 있으면 디자인 검증 레인이 붙어 computed-style을 수치로 대조합니다.
Install
Node.js 18+가 전부입니다. 계정도, 설정 파일도 없습니다. 설치 후엔 평소처럼 요청하세요 — 라우터가 알아서 태웁니다.
/plugin marketplace add chussum/cat-harness/plugin install cat@cat-harness/reload-plugins급할 땐 ! 또는 force: 접두사로 그 턴만 게이트를 건너뛸 수 있습니다. 수동 진입: /cat:interview · :plan · :execute · :team · :design-qa