Prologue

01한 저장소의 완결된 생애

2026년 2월 28일에 태어나 7월 3일에 마지막 커밋을 남기고, 후계 시스템에 흡수되며 아카이브된 저장소가 있다. ai-rules. 이 글은 그 넉 달의 기록 중 가장 반복 가치가 큰 패턴 하나를 꺼낸다. 비교가 로드맵이 되고, 로드맵이 재평가로 검증되는 루프.

대상 ai-rules 저장소 (아카이브) · 기간 2026-02-28 ~ 07-03 · 커밋 368 · 후계 keystone-hub · 2편: 2026-08 재평가

첫 커밋의 메시지는 feat: initial ai-rules setup, 부제는 "multi-AI tool rules sync system"이었다. Cursor·Claude Code·Copilot 같은 AI 코딩 도구들에게 같은 규칙을 배포하는 동기화 시스템. 출발은 소박했지만, 이 저장소는 넉 달 동안 규칙 배포기를 넘어 운영 철학과 거버넌스 체계로 자랐고, 자기보다 큰 오픈소스 7종과 자신을 비교한 연구 문서를 남겼으며, 그 비교에서 나온 격차를 로드맵으로 바꿔 실행한 뒤 스스로를 재평가했다.

저장소는 죽었지만 부검이 아니라 전기(傳記)를 쓸 수 있는 이유가 있다. 모든 것이 문서로 남아 있기 때문이다. 철학은 docs/guide/ 39편에, 비교는 docs/research/에, 개선은 로드맵 문서와 368개 커밋에, 이관은 아카이브 공지에. 이 글은 그 역사에서 한 단면, "남과 비교해서 자기를 고친 기록"만 따라간다.

생애
126일
2026-02-28 ~ 07-03
커밋
368
git log 실측
비교 연구
7종
docs/research/ 비교 문서
가이드 문서
39편
docs/guide/ 실측
Origin

02철학 원점 · 세 기둥

비교 이야기를 하기 전에, 비교의 주체가 어떤 믿음 위에 서 있었는지부터. ai-rules의 철학은 세 개의 기둥으로 요약되고, 셋 다 도입 시점이 커밋으로 남아 있다.

근거 core/ 원문 + git log 최초 등장 커밋 · 전부 [검증됨]

기둥 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). 원점은 화려한 금지 목록이 아니라 신뢰도 표기와 가역성 분류라는 두 개의 조용한 척도였다. 금지는 철학이 아니라 철학의 부산물이었던 셈이다.

Then / Now

03당시와 지금 · 대비 패널

같은 사람이 만든 두 시스템을 나란히 놓는다. 왼쪽은 아카이브 시점의 ai-rules, 오른쪽은 2026년 8월 8일의 keystone-hub. 두 열 모두 로컬 체크아웃 실측이다.

측정일 2026-08-08 · 좌: ai-rules 아카이브 체크아웃 · 우: keystone-hub main 체크아웃
ai-rules · 2026-02~07keystone-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가 마찰 패턴을 규칙 개선안으로. 일회성 비교가 상시 루프로.
읽는 법. 수치의 단위가 달라 크기 비교는 무의미하다. 봐야 할 것은 방향이다. 문서 주입이 결정론 게이트로, 양방향 sync가 단방향 apply로, 일회성 비교 연구가 상시 수확 루프로 바뀌었다. 오른쪽 열의 형태는 왼쪽 열의 실패에서 나왔다.
April Rush

044월의 비교 러시

368개 커밋 중 313개(85%)가 4월 한 달에 몰려 있다. 그 달에 무슨 일이 있었나. 답은 단순하다. 자기보다 큰 일곱 상대와 자신을 쟀고, 격차를 눈으로 봤고, 멈추지 않았다.

근거 docs/research/ 문서 헤더 작성일 + git log · 커밋 분포: 2월 2 / 3월 12 / 4월 313 / 5월 40 / 7월 1

4월 6일부터 13일까지 여드레 동안 비교 문서가 쏟아졌다. 상대는 성격이 전부 달랐다. 공식 플랫폼(Claude Code 거버넌스 표면), 커뮤니티 스타 프로젝트(Superpowers, ECC), 프로세스 오케스트레이터(GSD), 풀스택 에이전트 런타임(Hermes), 그리고 훅 생태계 다섯 프로젝트 묶음. 4월 30일에는 OpenAI의 Codex CLI까지 추가됐다. 일곱 개의 거울 앞에 서는 일이었다.

04-06

Claude Code 공식 + 커뮤니티 훅 5종 분석

첫 거울이 가장 아팠다. "공식의 permissions.deny는 AI 의지와 무관하게 100% 차단한다. ai-rules의 텍스트 규칙은 컨텍스트 압박 시 무시될 수 있다." Advisory의 한계가 문장으로 박제됐다.

04-09

ECC(Everything Claude Code) 평가

총점 A(87) vs ECC A+(94). 커맨드·스킬 축은 C(45점), 평가 문서의 표현으로는 "없음". 그러나 같은 문서에 반격의 씨앗이 있었다. "ECC의 181개 스킬은 여전히 마크다운 텍스트 파일이며, Claude가 무시하면 강제할 수단이 없다."

04-13

Superpowers 비교 + 로드맵 작성

행동 교정 B, 테스트 가능성 D. "규칙 자체의 효과를 테스트하는 메커니즘이 없음." 같은 날 9차원 루브릭으로 자평 26/45(57.8%)를 매기고 P1~P19 로드맵을 썼다. 비교가 로드맵으로 바뀐 날.

04-14

하루 만의 집중 구현 + 같은 날 재평가

다음 섹션의 주인공. P1~P19 대부분이 이날 하루의 커밋 체인으로 들어갔고, 저녁에는 Before/After 재평가 3종과 GSD·Hermes 분석, 후속 P20~P24까지 같은 날 커밋됐다.

04-30

Codex CLI 비교

제품 코드베이스 안에 스킬을 내장한 OpenAI의 구조를 관찰하고, babysit-pr·변경량 게이트 등 채택 후보 3건과 역방향 제안 3건(가역성 분류, 우선순위 번호, HANDOFF)을 기록했다.

왜 비교였나. 이 저장소의 철학(기둥 3)은 "텍스트 규칙은 무시될 수 있다"였다. 그 명제를 자신에게 적용하면, 자기 규칙이 실제로 강한지는 스스로의 확신이 아니라 외부와의 대조로만 알 수 있다. 비교 문서 7종은 자기 객관화 장치였고, 점수가 낮게 나온 축(스킬, 테스트, 컨텍스트 효율)이 그대로 로드맵의 우선순위가 됐다.
Roadmap

05비교가 로드맵이 되다

P1~P19. 각 항목의 출처가 명확하다. Superpowers에서 변명 방지 테이블을, 공식 Claude Code에서 SessionStart 훅과 호출 캡을, ECC에서 스킬·커맨드 체계를 가져와야 한다는 판정이 곧 백로그였다.

근거 IMPROVEMENT-ROADMAP.md (04-13) + 04-14 커밋 체인 · 자평 26/45 → 44/45 (자체 평가)
ai-rules 비교→개선 루프 비교 연구, 격차 식별, 로드맵 전환, 실행, 재평가 다섯 단계가 시계방향으로 돌고, 각 단계의 산출물이 가운데 운영 기록(docs/)으로 적재되는 플라이휠. RESEARCH COMMITS 비교 연구 오픈소스 7종 대조 격차 식별 부족한 축이 항목으로 로드맵 전환 P1~P19 실행 계획 실행 4월에만 커밋 313 재평가 같은 축으로 재점수 운영 기록 · docs/ 연구 7종 · 커밋 368 LEGEND 작업 흐름 (시계방향) 기록 적재 (write-back) 편집 포인트 · 비교가 로드맵이 되는 순간 누적 상태 (허브)
비교→개선 루프 전체 지도. 다섯 단계가 시계방향으로 돌고, 매 바퀴의 산출물이 가운데 운영 기록(docs/)으로 적재된다. 보라 상자가 이 절의 순간이다. 비교가 로드맵이 되는 지점. 재평가에서 비교로 돌아가는 회귀는 06절과 2편이 잇는다.
묶음항목유래
경량화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 130ECC 언어 생태계 지적
자기 개선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). 비교가 로드맵이 되는 주기가 여드레에서 몇 시간으로 줄어든 순간이다.

Re-evaluation

06재평가 · 루프의 닫힘

구현이 끝난 04-14 당일, 같은 상대 3종에 대해 Before 문서를 그대로 두고 After 문서를 새로 썼다. 지적받은 항목마다 해소 여부를 취소선으로 표시하는 형식. 루프가 닫히는 방식이 문서 구조 자체에 박혀 있다.

근거 After 3종 (04-14) + before-after-roadmap.md · 판정은 전부 자체 평가임을 원문들이 명시
상대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는 규칙 설계). 루브릭이 자기 우위 확인용이었다면 나올 수 없는 결과라서, 오히려 이 비교 체계가 실제 갭 발견용으로 작동했다는 증거로 읽힌다.

Migration

07이관 · 루프는 계속된다

P19까지 끝낸 시스템이 왜 두 달도 안 돼 아카이브됐나. 실패해서가 아니다. 문제의 단위가 바뀌었기 때문이다.

근거 ARCHIVE.md · README 아카이브 공지 · KEYSTONE_HUB_LAYERS.md · 이관 커밋 3efeb52 · 아카이브 선언 269446b (05-31)

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.

Appendix

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 점수는 전부 당시의 자체 평가다. 이 글은 그 점수를 사실 판정이 아니라 "당시 시스템이 자신을 어떻게 진단했는가"의 기록으로 인용한다.
  • 사실 관계는 [검증됨](커밋·원문 실측), 서사 해석(왜 그랬는가)은 [추론]이다. 특히 "비교가 로드맵의 직접 원인"이라는 인과는 문서 간 참조와 날짜 순서로 뒷받침되지만 궁극적으로는 해석이다.
  • 원작자 참조 계열 분석과 자체 인프라 선택 문서는 스코프에서 제외했다(개인 데이터 경계, 오픈소스 비교가 아닌 성격).