Files
dap-was-dapms/docs/decisions
koseokmin cb29b192b4 docs를 저장소로 되돌리고 계약 예제를 복원한다
5cfb8a1이 .gitignore에 docs/를 넣고 68개 파일을 지웠다. 그런데
AgentBuilderContractExampleTest, ToolBundleContractExampleTest,
ArchitectureDocumentContractTest는 docs/ 아래 계약 예제와 architecture
문서를 입력으로 직접 읽는다. 그 결과 clean clone에서 테스트 10건이
입력을 찾지 못해 실패했다.

제외 범위를 원래 의도대로 좁힌다. 에이전트 산출물(AGENTS.md, .agents/,
.codex/, docs/superpowers/)은 계속 제외하고 저장소 문서는 추적한다.

문서는 삭제 직전 상태(3de052a)를 기준으로 복원하고, 그 위에 main 코드와
대조해 어긋난 부분을 고쳤다.

- ADR-0007을 Superseded로 바꾸고 ADR-0013을 새로 쓴다. route당 Tool
  Service N개가 최종안이며, PortalToolRegistryClient가 이미 route별로
  N개를 유지하고 있는데 ADR-0007은 "bundles는 항상 한 항목"을 Accepted
  상태로 주장하고 있었다. ADR-0009 결정 4도 부분 대체한다.
- ADR-0008 파일 헤더가 Accepted였으나 ADR-0009가 이미 대체한 상태였다.
- 6078852의 endpoint 소유권 반전이 반영되지 않은 서술을 계약 v0.2,
  bundle 설정 예제, Tool 적재 안내에서 고친다.
- Portal registry 계약 v0.1과 route key 규약을 새로 문서화한다. 둘 다
  구현은 있는데 계약 문서가 없었다.
- MCP SDK 2.0.0 SBOM을 추가한다.

번호 주석: ADR-0011과 0012는 feature/mcp-integration이 Tool inputSchema
정책에 쓰고 있어 비워 둔다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 23:27:56 +09:00
..

Architecture Decision Records

장기 설계 결정은 ADR로 관리한다.

  • Proposed: 초안. 검토 후 Accepted로 확정한다
  • Accepted: 확정된 결정
  • Superseded: 후속 ADR로 대체된 결정
  • Rejected: 검토했으나 채택하지 않은 결정

결정이 변경되면 기존 ADR을 삭제하거나 의미를 덮어쓰지 않고 새 ADR에서 대체 관계를 기록한다.

결정 목록

ADR 제목 상태
ADR-0001 Stateless 실행 책임 경계 Accepted
ADR-0002 Agent Builder Tool 노출 제한과 단일 Tool 호출 Accepted
ADR-0003 Builder Tool UID를 시스템 간 식별 키로 사용 Superseded
ADR-0004 300초, Raw Data, unsafe retry 실행 가드레일 Accepted
ADR-0005 표준 MCP Tool name을 실행 식별자로 사용 Accepted
ADR-0006 MCP Server는 인증·인가를 하지 않는다 Accepted
ADR-0007 MCP 배포 하나는 Tool Service 하나만 본다 Superseded
ADR-0008 공유 host의 path를 독립 MCP 배포로 연결 Superseded
ADR-0009 컨테이너가 공개 MCP path를 직접 처리 Accepted
ADR-0010 Tool 실행 endpoint를 Tool Service 매니페스트가 선언 Accepted
ADR-0013 Tool Server endpoint 목록과 route 매핑의 원천은 Portal Accepted

ADR-0011과 ADR-0012는 비어 있다. feature/mcp-integration이 Tool inputSchema 정책 두 건에 그 번호를 쓰고 있어, 문서를 합칠 때 충돌하지 않도록 예약해 둔 것이다.