# 용어 위키 (원본에서 생성)

원본: [공통 개념](https://github.com/kdkrkwhr/engineering-standards/blob/0ab26dea2102fbb801740ba9f853a004761b7e0c/glossary/common.json) · [프로필별 관찰 예시](https://github.com/kdkrkwhr/engineering-standards/blob/0ab26dea2102fbb801740ba9f853a004761b7e0c/glossary/profile-examples.json) · 표준 버전: `0ab26dea2102fbb801740ba9f853a004761b7e0c`

이 문서는 원본 규칙을 재정의하지 않습니다. 관계의 ‘제안·추론’은 실제 코드 호출 그래프가 아닙니다.

## 요구사항 · requirement

상태: 표준에서 확정 · 범위: 언어·프레임워크 공통

구현이 충족해야 하는 관찰 가능한 조건. 기능을 임의로 더하거나 빼지 않는다.

표현 예시: `catalog entries can be listed` · 허용 별칭: 수용 조건 · 구분할 용어: 구현 아이디어

[적용 규칙](https://github.com/kdkrkwhr/engineering-standards/blob/0ab26dea2102fbb801740ba9f853a004761b7e0c/standards/core.md) · [공개 근거](https://github.com/kdkrkwhr/engineering-standards/blob/e1c019df54898e928f871602b76fa463d3ec7930/standards/core.md)

## 책임 · responsibility

상태: 표준에서 확정 · 범위: 언어·프레임워크 공통

구성요소가 맡는 결정과 동작의 범위. 이름과 의존 방향으로 사람이 찾을 수 있어야 한다.

표현 예시: `loadCatalogEntries` · 허용 별칭: 역할 · 구분할 용어: 클래스 이름만으로 추정한 책임

[적용 규칙](https://github.com/kdkrkwhr/engineering-standards/blob/0ab26dea2102fbb801740ba9f853a004761b7e0c/standards/architecture.md) · [공개 근거](https://github.com/kdkrkwhr/engineering-standards/blob/e1c019df54898e928f871602b76fa463d3ec7930/standards/architecture.md)

## 경계 · boundary

상태: 표준에서 확정 · 범위: 언어·프레임워크 공통

입력·출력·오류·의존 관계를 명시하는 구성요소 사이의 접점. 계층 수를 뜻하지 않는다.

표현 예시: `catalog input contract` · 허용 별칭: 계약 경계 · 구분할 용어: 특정 프레임워크 계층

[적용 규칙](https://github.com/kdkrkwhr/engineering-standards/blob/0ab26dea2102fbb801740ba9f853a004761b7e0c/standards/architecture.md) · [공개 근거](https://github.com/kdkrkwhr/engineering-standards/blob/e1c019df54898e928f871602b76fa463d3ec7930/standards/architecture.md)

## 테스트 기대 결과 · test expectation

상태: 표준에서 확정 · 범위: 언어·프레임워크 공통

요구사항 또는 독립된 fixture로 정한 기대값. 현재 구현을 베껴 만들지 않는다.

표현 예시: `expected catalog order` · 허용 별칭: 검증 기준 · 구분할 용어: 구현 결과 복제

[적용 규칙](https://github.com/kdkrkwhr/engineering-standards/blob/0ab26dea2102fbb801740ba9f853a004761b7e0c/agents/implementation.md) · [공개 근거](https://github.com/kdkrkwhr/engineering-standards/blob/e1c019df54898e928f871602b76fa463d3ec7930/agents/implementation.md)

## Spring 컨트롤러 · Spring controller

상태: 공개 코드에서 관찰 · 범위: Spring Boot 프로젝트

HTTP 요청을 받아 입력을 확인하고 애플리케이션 작업을 호출하는 진입점. 도메인 규칙을 이 계층에 쌓지 않는다.

표현 예시: `CatalogController` · 허용 별칭: HTTP controller · 구분할 용어: application use case

[적용 규칙](https://github.com/kdkrkwhr/engineering-standards/blob/0ab26dea2102fbb801740ba9f853a004761b7e0c/profiles/frameworks/spring-boot.md) · [공개 근거](https://github.com/kdkrkwhr/auction-spot-api/blob/d2f769eff1a0fd8b7389d0db854bdd68ac6724fe/src/main/java/com/auctionspot/domain/item/controller/ItemController.java)

## Spring 서비스 · Spring service

상태: 공개 코드에서 관찰 · 범위: Spring Boot 프로젝트

프로젝트가 선택한 경계에서 작업 흐름을 조정하는 구성요소. 이름만으로 책임이 정해지지 않으므로 작업 이름과 패키지로 역할을 드러낸다.

표현 예시: `RegisterCatalogEntryService` · 허용 별칭: application service · 구분할 용어: HTTP controller

[적용 규칙](https://github.com/kdkrkwhr/engineering-standards/blob/0ab26dea2102fbb801740ba9f853a004761b7e0c/profiles/frameworks/spring-boot.md) · [공개 근거](https://github.com/kdkrkwhr/auction-spot-api/blob/d2f769eff1a0fd8b7389d0db854bdd68ac6724fe/src/main/java/com/auctionspot/domain/item/service/ItemService.java)

## 요청 DTO · request DTO

상태: 공개 코드에서 관찰 · 범위: API 경계

외부 입력 계약을 나타내는 데이터 형식. 필수·선택·null·알 수 없는 필드 처리는 프로젝트 API 계약으로 정한다.

표현 예시: `CreateCatalogEntryRequest` · 허용 별칭: request model · 구분할 용어: persistence entity

[적용 규칙](https://github.com/kdkrkwhr/engineering-standards/blob/0ab26dea2102fbb801740ba9f853a004761b7e0c/standards/api-dto.md) · [공개 근거](https://github.com/kdkrkwhr/auction-spot-api/blob/d2f769eff1a0fd8b7389d0db854bdd68ac6724fe/src/main/java/com/auctionspot/domain/item/dto/ItemCreateRequest.java)

## Spring Data 저장소 · Spring Data repository

상태: 공개 코드에서 관찰 · 범위: Spring Data JPA

Spring Data의 영속성 접근 인터페이스. 도메인 포트라는 뜻으로 Repository를 쓸 때와 구분해 문맥을 기록한다.

표현 예시: `CatalogEntryJpaRepository` · 허용 별칭: JPA repository · 구분할 용어: Python storage module

[적용 규칙](https://github.com/kdkrkwhr/engineering-standards/blob/0ab26dea2102fbb801740ba9f853a004761b7e0c/profiles/frameworks/spring-boot.md) · [공개 근거](https://github.com/kdkrkwhr/auction-spot-api/blob/d2f769eff1a0fd8b7389d0db854bdd68ac6724fe/src/main/java/com/auctionspot/domain/item/repository/ItemRepository.java)

## Python 저장 모듈 · Python storage module

상태: 공개 코드에서 관찰 · 범위: Python 프로젝트

저장 경로와 읽기·쓰기 작업을 모듈 함수로 모은 형태. Java의 Repository 인터페이스와 이름이나 구조를 일괄 통일하지 않는다.

표현 예시: `catalog_storage.py` · 허용 별칭: storage module · 구분할 용어: Spring Data repository

[적용 규칙](https://github.com/kdkrkwhr/engineering-standards/blob/0ab26dea2102fbb801740ba9f853a004761b7e0c/profiles/languages/python.md) · [공개 근거](https://github.com/kdkrkwhr/agent-hub/blob/cfe0ac6b341f6edebbf25655fc2e7867492740bd/src/agent_hub/storage.py)

## 용어 관계

- [spring-controller](#spring-controller) → `may_call` → [spring-service](#spring-service) (제안·추론)
- [spring-controller](#spring-controller) → `accepts` → [request-dto](#request-dto) (제안·추론)
- [spring-service](#spring-service) → `may_use` → [spring-data-repository](#spring-data-repository) (제안·추론)
