v0.1.8초기 개발 단계 · 릴리스 노트 →

맡긴 작업이 정말 끝났는지,
기록으로 확인합니다.

Jaekit은 Claude Code·Codex에 더해 쓰는 플러그인과 터미널 프로그램입니다. 일을 맡기기 전에 무엇을 하면 끝인지 문서로 정해 두고, 끝났는지는 에이전트의 말이 아니라 검사를 실제로 돌린 기록으로 판단합니다.

$ brew install jgoneit/tap/jaekit

Claude Code · Codex  /  macOS · Linux  /  MIT

jaekitha
커서를 가져가 보고, 클릭해 보세요 목표 정하기 → 맡기기 → 기록으로 확인
왜 필요한가

“다 했습니다”만으로는 알 수 없는 것들

AI 코딩 에이전트에 일을 맡기면 이런 일이 생기곤 합니다.

조건 일부가 빠져 있습니다

열 가지를 부탁했는데 일곱 가지만 하고 끝냅니다. 어려운 조건을 쉬운 조건으로 바꿔 읽기도 합니다.

무엇을 검사했는지 모릅니다

“테스트를 통과했습니다”라고 하지만, 어느 코드에서 무엇을 돌렸는지는 바뀐 코드를 처음부터 읽어야 압니다.

대화가 끊기면 처음부터입니다

새 대화에서는 무엇을 약속했고 어디까지 했는지 다시 설명해야 합니다.

무엇이 달라지나

Jaekit이 있으면 기록이 남고, 없으면 말만 남습니다.

같은 일을 대화로만 맡길 때와 Jaekit으로 맡길 때를 나란히 놓았습니다. 어느 쪽이든 일은 같은 에이전트가 합니다.

이럴 때대화로만 맡기면Jaekit으로 맡기면
일을 시작할 때 대화로만무엇을 하면 끝인지가 대화 곳곳에 흩어집니다. Jaekit완료 조건을 먼저 문서로 정하고, 내가 확인한 뒤에 시작합니다.
검사를 돌리면 대화로만“통과했습니다”라는 말만 남습니다. Jaekit에이전트가 ha로 돌린 검사는 어느 commit에서 어떤 명령을 돌려 어떤 결과가 났는지 한 줄씩 기록됩니다.
코드를 또 고치면 대화로만앞의 “통과”가 지금 코드에도 맞는지 알 수 없습니다. Jaekit앞의 통과 기록은 남지만 근거로 세지 않습니다. 지금 코드에서 다시 검사해야 합니다.
바꾸기 전에도 통과하는 검사 대화로만새 동작이 생겼는지 가려내지 못하는 검사도 통과로 보입니다. Jaekit새 동작의 검사는 바꾸기 전 코드에서 그 동작이 없어 실패한 기록이 있어야 근거가 됩니다.
기존 테스트를 고치면 대화로만테스트를 느슨하게 고쳐도 “통과”로 보입니다. Jaekit내 요청이 허락하지 않은 테스트 변경이나 테스트를 약하게 만드는 변경이 있으면, 내가 확인하기 전까지 완료되지 않습니다.
대화가 끊기면 대화로만처음부터 다시 설명합니다. Jaekit새 대화에서 목표 폴더를 짚어 “이어서 해줘”라고 하면, 그 폴더와 기록을 읽고 이어 갑니다.
“다 됐습니다” 대화로만끝났는지가 말로 정해집니다. Jaekitha가 기록과 목표 폴더의 문서, Git을 보고 완료인지 계산해 남깁니다.
작동 방식

내가 하는 일은 세 가지입니다.

말하고, 확인하고, 읽습니다. 그 사이의 계획·구현·검사는 쓰던 에이전트가 합니다. 일은 에이전트 대화로 맡기고, 터미널은 주로 설치와 업데이트에 씁니다.

01Spec

원하는 일을 말합니다

에이전트 대화에 요청을 보내면 Spec이 목표와 완료 조건을 SPEC.md에 정리하고 멈춥니다. 아직 코드는 고치지 않습니다.

/$spec:spec 로그인에 "비밀번호 찾기" 추가
02Seal

읽어 보고 “응”이라고 답합니다

빠진 조건이 있으면 고쳐 달라고 합니다. 맞으면, Spec이 지금 구현할지 물을 때 “응”이라고 답합니다. 그때부터 에이전트가 Seal을 따라 계획·구현·검사를 끝까지 하고, 내가 정하거나 직접 확인할 것이 있을 때만 묻습니다.

에이전트가 실행 → ha check · spar · ha done
03ha

완료 보고를 읽습니다

필수 조건이 모두 검사 기록이나 내 확인으로 충족돼야 ha done이 완료를 남깁니다. 무엇이 바뀌었고 무엇을 확인했는지 보고가 PROGRESS.md에 붙습니다.

PROGRESS.md ← 완료 보고

네 부품 · 누가 무엇을 하나

Spec목표를 정리하는 지침

에이전트가 요청을 목표 문서로 옮길 때 따르는 지침입니다. 목표와 완료 조건, 검토 등급을 쓰고 멈춥니다.

Seal끝까지 가게 하는 지침

확인한 목표대로 에이전트가 계획·구현·검사·수정을 이어 가게 합니다. 목표 문서는 읽기만 합니다.

ha기록하고 계산하는 프로그램

에이전트가 ha check로 돌린 검사를 모두 기록하고, 그 기록과 목표 폴더의 문서, Git으로 완료를 계산합니다. AI 모델을 부르지 않습니다.

Spar다른 AI에게 받는 검토

작업한 에이전트의 대화 밖에 있는 리뷰어에게 같은 자료를 보내 검토를 받고, 지적과 그 처리를 기록합니다.

직접 해보기

에이전트 대화 네 번으로 끝까지.

브라우저 안에서만 재생되는 가상 세션입니다. 다음 입력을 눌러 가며 세 가지를 보세요. 바꾸기 전에 실패하는 검사(✕), 바꾼 뒤의 통과(✓), 그리고 ha done이 남기는 완료 기록입니다.

~/my-app

가상 예시 · 실제 에이전트나 저장소에 연결되지 않으며, 기록 번호도 실제 실행 결과가 아닙니다.

AC-1 완료 조건 1번 · baseline 바꾸기 전에 돌린 검사 · seq 기록 번호 · spar 독립 검토 실행

남는 것

“다 했습니다” 대신, 근거가 남습니다.

목표마다 프로젝트 안에 폴더 하나가 생기고, 보통 파일로 남습니다. 대화가 끊겨도 새 대화에서 이 폴더를 읽고 이어 갑니다.

  • SPEC.md목표와 완료 조건. 내가 확인한 문서← Spec
  • PLAN.md조건마다 무엇으로 검사할지, 어디까지 고칠지← Seal
  • REVIEW.md검토 계획과 Spar 검토 요약← Seal
  • PROGRESS.md진행 상황과 완료 보고← Seal
  • runs.jsonl검사 실행 기록. 덧붙이기만 합니다← ha
docs/specs/password-link/PROGRESS.md가상 예시 · 줄인 형식
바뀐 것
base f46020ce6f77 이후 파일 1개, commit 1개
확인한 것
필수 조건 2개 중 2개 충족 (검사 기록 2개, 사용자 확인 0개)
직접 볼 것
없음
남은 한계
보증 수준 local; 검사 작성자: 실행자
다음 행동
없음; 완료 기록 seq 6이 유효함
  • 읽는 법 이 다섯 줄은 ha가 기록과 목표 문서, Git으로 계산한 값입니다. 에이전트가 고쳐 쓰지 않습니다.
  • base 작업을 시작한 commit입니다. seq 6은 완료를 남긴 기록의 번호입니다.
  • local 이 컴퓨터에서 얻은 근거라는 뜻입니다. 검사 작성자: 실행자는 검사도 일한 에이전트가 썼다는 뜻입니다.
알아둘 점

무엇을 보장하고, 무엇은 아닌지.

기록은 내 프로젝트에 남습니다

목표와 계획, 진행 기록은 docs/specs/<goal>/에 파일로 남습니다. 설치·업데이트·제거가 지우지 않습니다.

완료 계산에 AI를 쓰지 않습니다

ha는 정해진 규칙으로만 계산하는 프로그램입니다. 기록과 목표 폴더의 문서, Git 상태가 같으면 결과도 같습니다.

완료는 “결함 없음”이 아닙니다

정해 둔 조건이 기록으로 충족됐다는 뜻입니다. 검사도 에이전트가 쓰고 근거는 이 컴퓨터의 기록이라, 실제 결과는 사람이 함께 확인합니다.

Spar 검토는 코드를 밖으로 보냅니다

Spar 검토를 받으면 리뷰어마다 기준·규칙 문서와 변경 내용(diff)을 자기 AI 제공자에게 보내고, 리뷰어가 읽은 프로젝트 파일도 함께 갈 수 있습니다. 밖으로 나가면 안 되는 코드라면 Spar를 돌리지 않습니다.

claude → Anthropic · codex → OpenAI · agy → Google

첫 목표를 맡겨 보세요.

$ brew install jgoneit/tap/jaekit

필요한 것: Git으로 관리하는 프로젝트 폴더, Claude Code 또는 Codex(CLI·데스크톱 앱), macOS나 Linux

macOS·Linux 사용 · WSL2 준비됨(실사용 미확인) · 네이티브 Windows에서는 Seal 사용 불가

이 페이지의 password-link 예시와 기록 번호는 모두 가상입니다.