01한 저장소의 완결된 생애
2026년 2월 28일에 태어나 7월 3일에 마지막 커밋을 남기고, 후계 시스템에 흡수되며 아카이브된 저장소가 있다. ai-rules. 이 글은 그 넉 달의 기록 중 가장 반복 가치가 큰 패턴 하나를 꺼낸다. 비교가 로드맵이 되고, 로드맵이 재평가로 검증되는 루프.
첫 커밋의 메시지는 feat: initial ai-rules setup, 부제는 "multi-AI tool rules sync system"이었다. Cursor·Claude Code·Copilot 같은 AI 코딩 도구들에게 같은 규칙을 배포하는 동기화 시스템. 출발은 소박했지만, 이 저장소는 넉 달 동안 규칙 배포기를 넘어 운영 철학과 거버넌스 체계로 자랐고, 자기보다 큰 오픈소스 7종과 자신을 비교한 연구 문서를 남겼으며, 그 비교에서 나온 격차를 로드맵으로 바꿔 실행한 뒤 스스로를 재평가했다.
저장소는 죽었지만 부검이 아니라 전기(傳記)를 쓸 수 있는 이유가 있다. 모든 것이 문서로 남아 있기 때문이다. 철학은 docs/guide/ 39편에, 비교는 docs/research/에, 개선은 로드맵 문서와 368개 커밋에, 이관은 아카이브 공지에. 이 글은 그 역사에서 한 단면, "남과 비교해서 자기를 고친 기록"만 따라간다.
02철학 원점 · 세 기둥
비교 이야기를 하기 전에, 비교의 주체가 어떤 믿음 위에 서 있었는지부터. ai-rules의 철학은 세 개의 기둥으로 요약되고, 셋 다 도입 시점이 커밋으로 남아 있다.
기둥 1 · 신뢰도 레이블 (첫날부터)
모든 답변에 [검증됨] / [추론] / [모름]을 붙인다. 코드 수정 전에 "확인한 것 vs 추론인 것 vs 검증 필요한 것"을 선언하고, 근거를 만들 수 없으면 사용자에게 묻지도 말라는 규율. 첫 커밋(0402ffb, 02-28)부터 존재한 최고참 개념이다. 에이전트의 환각과 과신을 기술이 아니라 표기 규율로 먼저 눌렀다.
기둥 2 · 가역성 등급 R0~R2 (04-01)
"차단할까?"가 아니라 "되돌릴 수 있는가?"를 묻는다. 금지 패턴 나열로는 자동화 범위를 넓힐 수 없어서, 모든 작업을 데이터 손실·외부 상태·복구 비용·영향 범위 4축으로 분류했다. R0(완전 가역)은 자동 실행, R1(제한적 가역)은 사람 승인, R2(비가역)는 날짜 포함 확인 문구를 사람이 직접 재입력해야 실행된다. 4e07c33(04-01) 커밋에서 충돌 매트릭스와 함께 들어왔고, 이틀 뒤 Human Authority Model이 "예외를 여는 권한은 사람에게만 있다"로 이 축을 봉인했다.
기둥 3 · Policy는 말해주고, Harness는 막는다 (04-02)
텍스트 규칙(Advisory)은 컨텍스트 압박 속에서 무시될 수 있다. 그래서 치명 규칙은 shell hook(Deterministic)으로 이중화한다. 규칙을 MUST-HOOK / SHOULD-HOOK / TEXT-ONLY로 분류하는 가이드가 04-01에, "Policy는 말해주고, Harness는 막는다"를 선언한 HARNESS_ENGINEERING 문서가 04-02에 들어왔다. 이 이분법이 이후 로드맵 전체의 골격이 된다.
연대기에서 흥미로운 반전 하나. 이 규칙 체계의 상징처럼 보이는 HARD STOP 파일(core/00-critical.md, "위반 = 즉시 세션 실패")은 사실 철학의 원점이 아니라 후기 산물이다. 04-20에 Cursor Agent 안전 대응으로 추가됐다(bc9ef79). 원점은 화려한 금지 목록이 아니라 신뢰도 표기와 가역성 분류라는 두 개의 조용한 척도였다. 금지는 철학이 아니라 철학의 부산물이었던 셈이다.
03당시와 지금 · 대비 패널
같은 사람이 만든 두 시스템을 나란히 놓는다. 왼쪽은 아카이브 시점의 ai-rules, 오른쪽은 2026년 8월 8일의 keystone-hub. 두 열 모두 로컬 체크아웃 실측이다.
| 축 | ai-rules · 2026-02~07 | keystone-hub · 2026-08 현재 |
|---|---|---|
| 생애 | 126일 (02-28 ~ 07-03) · 커밋 368그중 313개(85%)가 4월 한 달에 집중. 비교 러시와 P1~P19 실행의 달. | 가동 100일째 (05-01 ~ ) · 커밋 670ai-rules 아카이브 선언(05-31)까지 한 달 병행 후 단일 정본 지위 승계. |
| 규칙 소스 | core 13 + extensions 15 + agents 12 파일단일 저장소, 프로젝트별 프로파일 yaml 19종으로 조합. | rules 63 (universal 48 · identity 6 · personal 9)layer 7종 × 프로파일 4종(OS 2 × 소속 2). ai-rules 소스 44파일은 docs/ai-rules-source/로 흡수. |
| 강제 방식 | 문서 주입 중심CLAUDE.md·AGENTS.md에 규칙을 실어 모델의 준수를 기대. HARD/SOFT 구분은 문서 위 선언. | 결정론 게이트 50종(active hooks) + doctor 34체크commit 게이트(no-verify-ban 등 10종), push 게이트(adversarial review), liveness guard. exit 2가 곧 강제. |
| 실행 자산 | engine 56파일 (컴파일러·sync)규칙을 도구별 포맷으로 변환·배포하는 엔진이 핵심 코드. | skills 120 · agents 32 · commands 25 · scripts 318규칙 배포기를 넘어 실행 하네스. 자동화 루프(health-loop·trend-harvester·self-improve) 상주. |
| 배포 | 양방향 syncrepo → runtime 배포와 runtime → repo 역흡수가 공존. 역방향이 정본 오염 사고의 원인이 됨. | 단방향 apply + adapter exportapply.sh(서명 검증 + ff-only + 스냅샷 롤백)와 프로젝트 어댑터 생성 2종. 역방향 자동화 금지 명문화. |
| 자기 인식 | 비교 연구 7종 + 로드맵 문서외부와 비교해 격차를 재고 로드맵으로 전환. 이 글의 주제. | 주기 수확 + 자가개선 루프trend-harvester가 외부 트렌드를 주기 수집, self-improve가 마찰 패턴을 규칙 개선안으로. 일회성 비교가 상시 루프로. |
044월의 비교 러시
368개 커밋 중 313개(85%)가 4월 한 달에 몰려 있다. 그 달에 무슨 일이 있었나. 답은 단순하다. 자기보다 큰 일곱 상대와 자신을 쟀고, 격차를 눈으로 봤고, 멈추지 않았다.
4월 6일부터 13일까지 여드레 동안 비교 문서가 쏟아졌다. 상대는 성격이 전부 달랐다. 공식 플랫폼(Claude Code 거버넌스 표면), 커뮤니티 스타 프로젝트(Superpowers, ECC), 프로세스 오케스트레이터(GSD), 풀스택 에이전트 런타임(Hermes), 그리고 훅 생태계 다섯 프로젝트 묶음. 4월 30일에는 OpenAI의 Codex CLI까지 추가됐다. 일곱 개의 거울 앞에 서는 일이었다.
Claude Code 공식 + 커뮤니티 훅 5종 분석
첫 거울이 가장 아팠다. "공식의 permissions.deny는 AI 의지와 무관하게 100% 차단한다. ai-rules의 텍스트 규칙은 컨텍스트 압박 시 무시될 수 있다." Advisory의 한계가 문장으로 박제됐다.
ECC(Everything Claude Code) 평가
총점 A(87) vs ECC A+(94). 커맨드·스킬 축은 C(45점), 평가 문서의 표현으로는 "없음". 그러나 같은 문서에 반격의 씨앗이 있었다. "ECC의 181개 스킬은 여전히 마크다운 텍스트 파일이며, Claude가 무시하면 강제할 수단이 없다."
Superpowers 비교 + 로드맵 작성
행동 교정 B, 테스트 가능성 D. "규칙 자체의 효과를 테스트하는 메커니즘이 없음." 같은 날 9차원 루브릭으로 자평 26/45(57.8%)를 매기고 P1~P19 로드맵을 썼다. 비교가 로드맵으로 바뀐 날.
하루 만의 집중 구현 + 같은 날 재평가
다음 섹션의 주인공. P1~P19 대부분이 이날 하루의 커밋 체인으로 들어갔고, 저녁에는 Before/After 재평가 3종과 GSD·Hermes 분석, 후속 P20~P24까지 같은 날 커밋됐다.
Codex CLI 비교
제품 코드베이스 안에 스킬을 내장한 OpenAI의 구조를 관찰하고, babysit-pr·변경량 게이트 등 채택 후보 3건과 역방향 제안 3건(가역성 분류, 우선순위 번호, HANDOFF)을 기록했다.
05비교가 로드맵이 되다
P1~P19. 각 항목의 출처가 명확하다. Superpowers에서 변명 방지 테이블을, 공식 Claude Code에서 SessionStart 훅과 호출 캡을, ECC에서 스킬·커맨드 체계를 가져와야 한다는 판정이 곧 백로그였다.
| 묶음 | 항목 | 유래 |
|---|---|---|
| 경량화 | P1 CLAUDE.md 다이어트(2,363→815줄) · P15 스킬 lazy-load(최종 409줄, -84%) | Superpowers·공식 CC의 컨텍스트 효율 지적 |
| 행동 교정 | P2 변명 방지 테이블 · P3 lifecycle 병합 + HANDOFF 계층화 · P4 INTENT 선택화 | Superpowers의 Rationalization Prevention |
| 스킬화 | P5 핵심 워크플로우 스킬 5종(planning·commit·debugging·code-review·pr-create) | ECC·Superpowers의 스킬 체계 |
| 훅 강화 | P6 SessionStart · P7 PostToolUse · P8 CLI 화이트리스트 · P9 호출 캡 | 공식 Claude Code 운영 하네스 |
| 리뷰·검증 | P10 2단계 리뷰 분리 · P11 스킬 테스트(19 시나리오) · P16 CI 회귀(3회 median) | 공식 CC + Superpowers 테스트 문화 |
| 체계화 | P12 prompt 훅 가이드 · P14 스택 분리(extensions) · P17 대시보드 + health-check 130 | ECC 언어 생태계 지적 |
| 자기 개선 | P18 improver/tester/evaluator 교차 검증 + "core 규칙·가역성 등급 수정 금지" 제한 | Hermes 자가개선 관찰의 절충 수용 |
| 강제 완성 | P19 Tier 2 게이트(누적 변경량) · 전 Tier 하네스 완성 | 기둥 3의 논리적 종점 |
실행은 압축적이었다. 04-13에 로드맵 브랜치가 열리고, 04-14 하루 동안 P5 스킬 5종(7a6a8bd), P1 다이어트(b58994a), P6+P7 훅(89fb6d3), P8+P9(e519535), P10 리뷰 분리(f5f9bc7), P11·P12·P14(978c490), P16·P17(b72f0f6), P15(e921a0f), P18(a0ac5c0), P19(9e06628)가 차례로 커밋됐다. 19개 중 유일한 미완은 P13(Marketplace 배포), 외부 플랫폼 의존이라 보류됐다. 4월 커밋 313개의 정체가 이 체인이다.
그리고 같은 날 저녁, GSD와 Hermes 분석에서 나온 P20~P24(프롬프트 인젝션 방어, 위험 명령 35패턴, 컨텍스트 모니터링, 시크릿 레닥션, 테스트 격리)가 곧바로 추가 커밋됐다(dd1714b). 비교가 로드맵이 되는 주기가 여드레에서 몇 시간으로 줄어든 순간이다.
06재평가 · 루프의 닫힘
구현이 끝난 04-14 당일, 같은 상대 3종에 대해 Before 문서를 그대로 두고 After 문서를 새로 썼다. 지적받은 항목마다 해소 여부를 취소선으로 표시하는 형식. 루프가 닫히는 방식이 문서 구조 자체에 박혀 있다.
| 상대 | Before (04-06~13) | After (04-14) |
|---|---|---|
| Superpowersv5.0.7 · 스킬 15 | Superpowers A- vs ai-rules B행동 교정 "규칙 선언만" · 테스트 가능성 D | ai-rules A · "상호 보완에서 대등한 경쟁으로"잔여 열세: 스킬 세분화, 트랜스크립트 분석, marketplace 배포 |
| ECCv1.10.0 · 스킬 181 · 140K+ star | ECC 94 vs ai-rules 87Commands/Skills 축 C(45), "없음" | ai-rules 95, 실효성 기준 역전 선언Commands/Skills C(45)→A(90) · 잔여 열세: 규모·커뮤니티·npm 배포 |
| Claude Code 공식플러그인 14+ · 워크플로우 12 | "경쟁이 아닌 상호 보완"훅 이벤트 2종 vs 8+종 · sandbox·managed settings 부재 | "운영 거버넌스 완성도는 대등 수준"잔여 열세는 전부 플랫폼 의존 영역(sandbox, managed settings) |
숫자만 보면 하루 만에 B가 A가 되고 87이 95가 되는, 믿기 어려운 상승이다. 두 가지를 같이 봐야 공정하다. 첫째, 이 점수는 전부 자체 평가다. 외부 심판은 없었고, After 문서들 스스로 "확인 범위 기준", "재검증하지 않은 항목"을 명시하는 절제를 보였다. 둘째, 상승의 실체는 점수가 아니라 산출물이다. 스킬 0→8개, 훅 3→7개, 테스트 시나리오 0→19개, CLAUDE.md 2,500줄→409줄. 점수는 부풀릴 수 있어도 커밋은 부풀릴 수 없다.
흥미로운 건 GSD·Hermes와의 3자 비교 결과다. 셋 다 34/45 동점. 강점 영역이 완전히 달라서 나온 숫자다(GSD는 프로세스, Hermes는 실행 안전, ai-rules는 규칙 설계). 루브릭이 자기 우위 확인용이었다면 나올 수 없는 결과라서, 오히려 이 비교 체계가 실제 갭 발견용으로 작동했다는 증거로 읽힌다.
07이관 · 루프는 계속된다
P19까지 끝낸 시스템이 왜 두 달도 안 돼 아카이브됐나. 실패해서가 아니다. 문제의 단위가 바뀌었기 때문이다.
ai-rules는 "프로젝트별로 규칙을 배포"하는 데는 능했지만, 설계 문서 스스로 한계를 적었다. "ai-rules는 프로젝트별 target_path로 분리되어 있으나, 머신 환경 자체는 다루지 않는다." 한 사람이 Windows와 Mac, 개인과 회사를 오가며 일하자 새로운 충돌이 생겼다. macOS 경로가 Windows 머신에 침범하고, 회사 A의 컨벤션이 회사 B 세션에 누수되고, 시크릿이 평문으로 평탄 동기화되는 문제. 프로젝트 단위 규칙 배포기로는 풀 수 없는, 머신·회사·OS 차원의 문제였다.
그래서 후계는 레이어 구조로 지어졌다. 00-universal 위에 OS 레이어, 소속 레이어, 머신 로컬 레이어를 쌓고 프로파일 4종으로 조합하는 keystone-hub. 05-31에 런타임 자산이 이관되고(3efeb52) 같은 날 아카이브가 선언됐다(269446b, CLAUDE.md 1,241줄 삭제 포함 -1,592줄). 아카이브 공지의 문장이 이관의 성격을 정확히 말해 준다. "옛 진입점들은 의도적으로 비활성화됐다. 이 저장소가 실수로 두 번째 정본이 되는 일을 막기 위해서다." 죽인 것이 아니라, 정본이 하나여야 한다는 원칙 때문에 봉인한 것이다.
그리고 루프 자체도 이관됐다. ai-rules 시절의 비교는 사람이 여드레에 걸쳐 수행한 일회성 이벤트였다. keystone-hub에서는 trend-harvester가 외부 트렌드를 주기적으로 수확하고, self-improve가 마찰 패턴을 규칙 개선안으로 바꾸고, health-loop가 매시간 하네스 생존을 점검한다. "비교 → 격차 → 로드맵 → 재평가"가 상주 프로세스가 된 것이다. 그렇다면 남는 질문은 하나. 당시의 일곱 상대 앞에 지금의 keystone-hub를 다시 세우면 어떤 판정이 나오나. 그 답이 2편이다: 2026-08 재평가 · 오픈소스 7종 × keystone-hub.
08출처 · 경계
출처
- ai-rules 실측 · 아카이브 저장소 로컬 체크아웃의 git log + 문서 원문. 커밋 해시·날짜·인용문 전부 2026-08-08 조회.
- keystone-hub 실측 · main 체크아웃 파일 카운트 + README·apply.sh 헤더. rules 63 / active hooks 50 / skills 120 / doctor 체크 34 등 전 수치에 실행 명령 확보.
- 비교 문서 원문 · docs/research/ 13편 + archive/ 8편. Before/After 판정·인용은 원문 그대로 옮겼다.
- 연계 리포트 · 2026-08 재평가(이 글의 2편).
경계
- 공개판이다. 로컬 경로·개인 식별자는 스크럽했고, 수치와 인용은 비공개 원판과 동일하다.
- Before/After 점수는 전부 당시의 자체 평가다. 이 글은 그 점수를 사실 판정이 아니라 "당시 시스템이 자신을 어떻게 진단했는가"의 기록으로 인용한다.
- 사실 관계는 [검증됨](커밋·원문 실측), 서사 해석(왜 그랬는가)은 [추론]이다. 특히 "비교가 로드맵의 직접 원인"이라는 인과는 문서 간 참조와 날짜 순서로 뒷받침되지만 궁극적으로는 해석이다.
- 원작자 참조 계열 분석과 자체 인프라 선택 문서는 스코프에서 제외했다(개인 데이터 경계, 오픈소스 비교가 아닌 성격).