# 지침 문서의 금지 절과 첫 항목에 붙은 근거 둘
## Forbidden

- Persistence or web technology (JPA/Hibernate/Spring Data/Spring Web) — ArchUnit
  `identifier_adapter_does_not_depend_on_other_adapters_or_bootstrap`;
  `.claude/hooks/ca_import_gate.py` G4 가 쓰기 시점에 차단.
- inbound adapters, persistence adapters, other outbound leaves, `app-bootstrap`,
  `sample-portfolio`.

# 아키텍처 규칙 쪽 — 선언과 그것이 막는 이름들
  @ArchTest
  static final ArchRule IDENTIFIER_ADAPTER_DOES_NOT_DEPEND_ON_OTHER_ADAPTERS_OR_BOOTSTRAP =
      noClasses()
          .that()
          .resideInAPackage("..adapter.outbound.identifier..")
          .should()
          .dependOnClassesThat(
              JavaClass.Predicates.resideInAnyPackage(
                      "..adapter.inbound.web..",
                      "..adapter.outbound.persistence..",
                      "..bootstrap..",
                      "org.springframework.data.repository..",
                      "org.springframework.data.jpa.repository..",
                      "jakarta.persistence..",
                      "javax.persistence..",
                      "org.hibernate..")
                  .or(
                      JavaClass.Predicates.resideInAPackage("..adapter.outbound..")

#   그 규칙이 실제로 도는가
    51:@AnalyzeClasses(packages = "dev.caskeleton", importOptions = ProductionClassImportOption.class)
    92:    implementation project(':adapter:outbound:identifier')
    50:        run: ./gradlew check verifyPublicPathSnapshot verifyDependencyLocks --warning-mode=fail --no-daemon --stacktrace

#   그 리프의 프로덕션 클래스패스
    154:empty=compileClasspath,runtimeClasspath

# 훅 쪽 — 그 파일이 있다는 자리
#   git ls-files .claude : 0
#   전 이력에서 .claude 아래 추적된 적 : 0
#   작업 트리 : settings.local.json 
    .gitignore:3:.claude/	.claude/hooks/ca_import_gate.py

#   문서가 특정한 규칙 번호가 해석되는가
    src/adapter/outbound/identifier/CLAUDE.md:39:  `.claude/hooks/ca_import_gate.py` G4 가 쓰기 시점에 차단.

# 그 훅을 고치겠다던 계획의 현재 상태
> **SUPERSEDED — HISTORICAL PROVENANCE ONLY (2026-07-25):** The user-approved harness-free
> Mode B amendment supersedes this plan. Retain the body as historical provenance; it is not
> executable instruction.
#   그것을 대체한 문서의 목표
7:**Goal:** Restore Gradle bootstrap and Clean Architecture dependency enforcement without recreating
8-the absent development harness.
#   그 계획이 새로 만들겠다던 디렉터리 : 없음
