Files
llm-wiki/docs/superpowers/notes/2026-06-04-phase2-antigravity-hook-coverage.md

3.4 KiB

title, date
title date
Phase 2 — antigravity 훅 커버리지 점검 2026-06-04

antigravity 훅 커버리지 (실측)

현재 antigravity 훅: wiki_hard_gate.py

  • 위치: ~/.gemini/antigravity-cli/hooks/wiki_hard_gate.py (global), .agents/hooks.json 이 PreToolUse matcher * 로 가리킴.
  • 강제 대상: docs/superpowers/specs/*.md 리포트 출력 품질 (SKILL.md Output-Format Hard Gate subset):
    • G1 §7.1 self-grep proof (V/N 비율 + 실제 grep 명령)
    • G2 Contract 7 금지 마케팅어 ("100%/완벽/극한/절대로/최강/..." )
    • G3 Verdict: COMPLETE 시 §3-1 공식 유도
    • G4 findings ≥5 시 ## 4-1 Adversarial Review 필수
  • 입력/출력 어댑터 보유: Antigravity protobuf(tool_call.{name,input}, write_to_file/edit_file/run_command/bash) + Gemini CLI(tool_name/tool_input, {decision}) 양쪽 처리. 미인식 → fail-open.

갭 (Claude / codex 와 비교)

검사 Claude (.claude/) codex (.codex/hooks.json) antigravity
report 품질 게이트 (SKILL.md) (skill 본문) 있음 (wiki_hard_gate.py)
claim 추적성 (raw source claims / branch decision→claim / wiki FACT 분리) 있음 (wiki_claim_gate.py PreToolUse) wired (trust 시) 없음
구조 린트 (template 섹션·frontmatter·Parent·broken link, C2) 있음 (wiki_structure_lint.py PostToolUse) wired (trust 시) 없음

→ antigravity 는 리포트 품질은 강제하지만 claim_gate·structure_lint 의 강제가 없다.

권고 (별도 follow-up — 본 세션에서 미실행 이유)

Update (2026-07-14): 아래 1~3 항(출력 어댑터 · payload 어댑터 · .agents/hooks.json 배선)은 이후 구현·활성 완료됐다. 현재 .claude/hooks/wiki_claim_gate.py(--antigravity → stdout {decision:"deny", reason}, exit 0)와 .claude/hooks/wiki_structure_lint.py(--antigravity _dispatch_hook 동일 어댑터)가 antigravity 출력 규약을 지원하고, .agents/hooks.jsonwiki-claim-gate(PreToolUse+Stop)·wiki-structure-gate(PreToolUse+PostToolUse) 가 enabled: true 로 배선돼 있다. 남은 것은 4항(fail-open 검증)을 포함한 실제 Antigravity 런타임 hook E2E 검증 뿐이며, 그때까지 상태는 experimental 이다. 아래 원문은 2026-06-04 시점 실측 기록으로 보존한다.

claim_gate / structure_lint 를 antigravity 로 포팅하려면:

  1. 출력 어댑터: Claude 규약(exit 2 + stderr) → antigravity {decision:"deny", reason} JSON. 단일 SSOT 유지하려면 두 스크립트에 --emit antigravity 모드 추가.
  2. payload/content 어댑터: antigravity tool_call.input.content/arguments 에서 쓰기 내용 추출 (wiki_hard_gate.pyget_write_content / get_target_path 패턴 차용).
  3. .agents/hooks.json 에 PreToolUse 항목 추가 (claim_gate = blocking, structure_lint = advisory always-allow).
  4. fail-open 철저 검증 — matcher * 전역 훅이라 버그 시 antigravity 쓰기 전체 차단(blast radius 큼). 미인식·에러 시 반드시 allow.

미실행 이유: 전역 high-blast-radius 훅을 "인라인 빠른" 패스에서 성급히 추가하면 사용자의 antigravity 작업을 막을 위험. 별도의 신중한 패스(어댑터 + 충분한 fail-open 테스트)로 권고. 그동안 antigravity 에서도 agents/skills/workflows 의 Mandatory First Reads 가 rules 정독을 지시하므로 soft 강제는 존재.