Skip to content

feat(harness): VD1 (void) — Terminal.app 단일 참조 강제#31

Merged
dancinlife merged 2 commits intomainfrom
feat/harness-vd1-void
Apr 13, 2026
Merged

feat(harness): VD1 (void) — Terminal.app 단일 참조 강제#31
dancinlife merged 2 commits intomainfrom
feat/harness-vd1-void

Conversation

@dancinlife
Copy link
Copy Markdown
Contributor

Summary

void 프로젝트 전용 규칙 VD1 을 lint.hexa 에 추가. 외부 터미널 에뮬레이터 (iTerm2/kitty/Warp/Ghostty/Alacritty) 언급 시 error.

동작

  • 활성 조건: _project_name() == 'void'
  • 대상 파일: .hexa / .c / .m (source 레이어만)
  • 예외: archive/, docs/, _archive/, rules.json, CLAUDE.md, shared/harness/, 인라인 // @allow-terminal-mention

Smoke

  • nexus 자체: exit 0 (void 가 아니므로 비활성) ✅
  • void 가짜 파일 (iTerm2 + Alacritty 포함): VD1 error 2건 감지 ✅

🤖 Generated with Claude Code

dancinlife and others added 2 commits April 13, 2026 14:27
기존 문제:
- common.json 에 33 규칙 등록 but lint.hexa 는 ~14건만 구현
- bitter-gate 가 모두 dormant(폐기 후보) 로 판정 → false positive 29건

수정:
- is_implemented(rule) 추가 — lint.hexa 에서 "<RULE>|" 또는 "<RULE>-L" grep
- status 분기: total=0 & !implemented → "not_implemented"
- 카운터 not_implemented 별도 집계 + 출력

검증 (--audit):
- audited: 33, active: 3, dormant: 1 (실제 폐기 후보)
- not_impl: 29 (lint 미구현 — 수동 오버헤드 또는 신규 구현 대상)
- insufficient: 0

rules_usage.jsonl 에 "implemented":true/false 필드 추가.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- check_vd1() 신설: void 프로젝트 .hexa/.c/.m 소스에서 외부 터미널 에뮬레이터 (iTerm2/kitty/Warp/Ghostty/Alacritty) 언급 grep → error
- _vd1_is_exempt(): archive/, docs/, _archive/, rules.json, CLAUDE.md, shared/harness/ 예외
- 인라인 예외: // @allow-terminal-mention

Smoke:
- nexus 자체: exit 0 (비활성)
- void 가짜 violation (src/fake.hexa with "iTerm2" + "Alacritty"): VD1 error 2건 감지

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@dancinlife dancinlife merged commit 4e95417 into main Apr 13, 2026
1 check failed
@dancinlife dancinlife deleted the feat/harness-vd1-void branch April 13, 2026 05:29
dancinlife added a commit that referenced this pull request Apr 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant