ADR: translate adr-ko/ to Korean, fix ADR-0013 slug, refine Status check

Follow-up to the bilingual-structure commit: docs/adr-ko/ now holds
only Korean versions (24 files translated from English placeholders),
ADR-0013 slug uses kebab-case in both folders, and the verify tool
allows translated parenthetical commentary in the Status block.

- Translate 24 English files in docs/adr-ko/ to Korean. The previous
  bilingual-structure commit had left these as English copies because
  their source content was already English; this commit fulfills the
  policy that docs/adr-ko/ contains only Korean.
- Rename ADR-0013 in both adr/ and adr-ko/ from
  ver-verification_strategy.md to ver-verification-strategy.md
  (kebab-case consistency with other ADRs).
- CLAUDE.md (ADR Translation Discipline): clarify that only the
  Status lifecycle keyword (Accepted / Proposed / Stub / Draft /
  Superseded by ADR-NNNN / Merged into ADR-NNNN) must match across
  EN and KO; parenthetical commentary and trailing list items may be
  translated.
- tools/verify_adr_lang_pairs.py: replace byte-equal Status check
  with normalize_status_keyword() which strips parenthetical
  commentary and takes only the first non-empty line.
- tests/test_verify_adr_lang_pairs.py: update existing test names,
  add coverage for translated parenthetical, translated trailing
  list, and Superseded-by-NNNN keyword equality.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-20 08:17:56 -07:00
parent a796c1d2f7
commit 168b0c89f0
29 changed files with 2631 additions and 2651 deletions
@@ -1,4 +1,4 @@
# ADR-0005: Diagram Views & Distance-Aware Layout Rules
# ADR-0005: 다이어그램 뷰 및 거리 기반 레이아웃 규칙
## Status
@@ -6,17 +6,17 @@ Accepted
## Context
We require verifiable and inspectable system modeling for a large-scale,
parameterized AI Accelerator system.
대규모, 매개변수화된 AI Accelerator 시스템에 대해 검증 가능하고 점검 가능한
시스템 모델링이 필요하다.
Humans must be able to:
사람이 다음을 할 수 있어야 한다:
- visually inspect the modeled topology,
- reason about communication structure and relative distance,
- do so at multiple abstraction levels without being overwhelmed by detail.
- 모델링된 토폴로지를 시각적으로 점검하고,
- 통신 구조와 상대적 거리에 대해 추론하고,
- 세부 사항에 압도되지 않으면서 여러 추상화 수준에서 이를 수행한다.
The simulator models distance (accumulated latency) as a first-class concept.
Diagrams must reflect this distance by default.
시뮬레이터는 거리(누적 레이턴시)를 1급 개념(first-class concept)으로 모델링한다.
다이어그램은 기본적으로 이 거리를 반영해야 한다.
---
@@ -24,163 +24,163 @@ Diagrams must reflect this distance by default.
### D1. Global Defaults
- All diagrams MUST be **distance-aware by default**.
- All diagrams MUST render **representative views** of the architecture.
- Instance indices (e.g., sip0, cube2, pe3) MUST NOT be required for diagram generation.
- Instance indices MAY be used ONLY:
- to define a distance anchor in asymmetric or debugging scenarios, or
- when explicitly requested.
- 모든 다이어그램은 기본적으로 **거리 인식(distance-aware)** 이어야 한다.
- 모든 다이어그램은 아키텍처의 **대표 뷰(representative view)** 를 렌더링해야 한다.
- 인스턴스 인덱스(예: sip0, cube2, pe3)는 다이어그램 생성에 필수가 아니어야 한다.
- 인스턴스 인덱스는 다음의 경우에만 사용될 수 있다:
- 비대칭 또는 디버깅 시나리오에서 거리 앵커를 정의하기 위한 경우, 또는
- 명시적으로 요청된 경우.
---
### D2. Representative Rendering Rule
- All CUBEs share the same internal structure.
- All PEs share the same internal structure.
- 모든 CUBE는 동일한 내부 구조를 공유한다.
- 모든 PE는 동일한 내부 구조를 공유한다.
Therefore:
따라서:
- SIP-level diagrams render representative CUBEs and IO chiplets.
- CUBE-level diagrams render representative PEs as opaque blocks.
- PE-level diagrams render a representative PE with fully expanded internals.
- SIP 수준 다이어그램은 대표 CUBE와 IO 칩렛을 렌더링한다.
- CUBE 수준 다이어그램은 대표 PE를 불투명 블록으로 렌더링한다.
- PE 수준 다이어그램은 내부가 완전히 전개된 대표 PE를 렌더링한다.
Diagrams MUST NOT depend on specific SIP, CUBE, or PE indices
unless explicitly requested.
다이어그램은 명시적으로 요청되지 않는 한
특정 SIP, CUBE, 또는 PE 인덱스에 의존해서는 안 된다.
---
### D3. Diagram Views
#### View A — SIP-Level Diagram
#### View A — SIP 수준 다이어그램
**Purpose**
Explain system-scale structure and connectivity.
**목적**
시스템 규모의 구조와 연결성을 설명한다.
**Visible elements**
**가시 요소**
- SIP boundaries (optional)
- CUBEs (opaque blocks)
- IO chiplets (opaque blocks)
- Optional UCIe stubs only if needed to clarify connectivity
- SIP 경계 (선택사항)
- CUBE (불투명 블록)
- IO 칩렛 (불투명 블록)
- 연결성 명확화에 필요한 경우에만 선택적 UCIe 스텁
**Hidden elements**
**비가시 요소**
- PE internals
- CUBE internal fabric
- IO chiplet internals
- PE 내부
- CUBE 내부 패브릭
- IO 칩렛 내부
**Visible links**
**가시 링크**
- Host ↔ IO chiplets (PCIe)
- SIP ↔ SIP (PCIe / UAL via switches)
- IO ↔ CUBE (on-package links)
- 호스트 ↔ IO 칩렛 (PCIe)
- SIP ↔ SIP (스위치를 통한 PCIe / UAL)
- IO ↔ CUBE (온패키지 링크)
---
#### View B — CUBE-Level Diagram
#### View B — CUBE 수준 다이어그램
**Purpose**
Explain cube-internal structure and data/control flow.
**목적**
큐브 내부 구조와 데이터/제어 흐름을 설명한다.
**Visible elements**
**가시 요소**
- Router mesh: 2D grid of NOC routers (from cube_mesh.yaml), all traffic routes through mesh
- HBM_CTRL attached to PE routers (local HBM = 0 hop)
- HBM subsystem (HBM_CTRL)
- Shared SRAM: cube-level shared memory
- Management CPU (M_CPU)
- PEs as opaque blocks (PE[0..N1])
- UCIe endpoints (N/E/W/S) as ports
- 라우터 메시: NoC 라우터의 2D 격자 (cube_mesh.yaml로부터), 모든 트래픽은 메시를 통해 라우팅됨
- PE 라우터에 부착된 HBM_CTRL (로컬 HBM = 0 )
- HBM 서브시스템 (HBM_CTRL)
- 공유 SRAM: 큐브 수준 공유 메모리
- 관리 CPU (M_CPU)
- 불투명 블록으로 표현된 PE (PE[0..N1])
- 포트로 표현된 UCIe 엔드포인트 (N/E/W/S)
**Hidden elements**
**비가시 요소**
- PE internals
- PE 내부
**Visible links**
**가시 링크**
- PE → router (HBM + non-HBM data path via mesh)
- Router ↔ HBM_CTRL (local HBM access)
- Router ↔ Router (mesh hops for remote access)
- Router ↔ UCIe endpoints
- Router ↔ shared SRAM
- M_CPU ↔ router (command path)
- Router → PE_CPU (command delivery, collapsed into PE block)
- PE → 라우터 (메시를 통한 HBM + -HBM 데이터 경로)
- 라우터 ↔ HBM_CTRL (로컬 HBM 액세스)
- 라우터 ↔ 라우터 (원격 액세스를 위한 메시 홉)
- 라우터 ↔ UCIe 엔드포인트
- 라우터 ↔ 공유 SRAM
- M_CPU ↔ 라우터 (명령 경로)
- 라우터 → PE_CPU (명령 전달, PE 블록 내부로 축약됨)
---
#### View C — PE-Level Diagram
#### View C — PE 수준 다이어그램
**Purpose**
Explain internal PE behavior and execution structure.
**목적**
PE 내부 동작과 실행 구조를 설명한다.
**Visible elements**
**가시 요소**
- PE_CPU
- Command handler / scheduler
- PE_TCM (local SRAM)
- HW accelerators (DMA, GEMM, MATH, etc.)
- Local HBM interface
- Optional IPCQ / messaging endpoints
- 명령 핸들러 / 스케줄러
- PE_TCM (로컬 SRAM)
- HW 가속기 (DMA, GEMM, MATH)
- 로컬 HBM 인터페이스
- 선택적 IPCQ / 메시징 엔드포인트
**Visible links**
**가시 링크**
- Control paths (CPU → scheduler → engines)
- Data paths (engines ↔ TCM, DMA ↔ local HBM)
- External fabric ports as abstract ports only
- 제어 경로 (CPU → 스케줄러 → 엔진)
- 데이터 경로 (엔진 ↔ TCM, DMA ↔ 로컬 HBM)
- 외부 패브릭 포트는 추상 포트로만 표현
---
### D4. Distance-Aware Layout (Default)
### D4. 거리 기반 레이아웃 (기본)
#### Distance definition
#### 거리 정의
- Distance is defined as **accumulated latency**, consistent with ADR-0002.
- Distance is computed from a single anchor node.
- 거리는 ADR-0002와 정합되도록 **누적 레이턴시(accumulated latency)** 로 정의된다.
- 거리는 단일 앵커 노드로부터 계산된다.
#### Default anchor selection
#### 기본 앵커 선택
- SIP view: IO chiplet (or Host CPU if present)
- CUBE view: a representative PE
- PE view: PE_CPU or Command Handler
- SIP : IO 칩렛 (또는 존재한다면 호스트 CPU)
- CUBE 뷰: 대표 PE
- PE : PE_CPU 또는 명령 핸들러
Anchors are **implicit defaults** and MUST NOT be required to be specified.
앵커는 **암묵적 기본값**이며, 지정이 강제되어서는 안 된다.
#### Layout rules
#### 레이아웃 규칙
- Diagrams MUST be laid out in layers based on distance buckets.
- Layout direction MUST be consistent within a view type
(preferred: left-to-right).
- Nodes with equal distance MUST have stable ordering
(by role or identifier, deterministically).
- 다이어그램은 거리 버킷에 기반한 레이어로 배치되어야 한다.
- 레이아웃 방향은 뷰 유형 내에서 일관되어야 한다
(선호: 좌→우).
- 동일 거리의 노드는 결정론적으로 안정된 순서를 가져야 한다
(역할 또는 식별자 기준).
Cycles MAY be rendered using dashed or curved edges for readability,
without affecting distance semantics.
가독성을 위해 사이클은 점선 또는 곡선 엣지로 렌더링될 수 있으며,
이는 거리 의미에 영향을 주지 않는다.
---
### D5. Generation Contract (for Tools / Claude Code)
### D5. 생성 컨트랙트 (도구 / Claude Code)
When generating diagrams:
다이어그램 생성 시:
- Assume distance-aware layout by default.
- Assume representative rendering by default.
- Do NOT ask for SIP/CUBE/PE indices unless required.
- Do NOT expand hidden abstraction levels.
- Prefer architectural clarity over micro-hop fidelity.
- 기본적으로 거리 기반 레이아웃을 가정한다.
- 기본적으로 대표 렌더링을 가정한다.
- 필요한 경우가 아니면 SIP/CUBE/PE 인덱스를 묻지 않는다.
- 숨겨진 추상화 수준을 전개하지 않는다.
- 마이크로 홉의 정밀도보다 아키텍처적 명확성을 우선한다.
---
## Consequences
- Diagrams are stable across topology scaling.
- Changes in distance or routing policy are reflected visually.
- Diagrams serve as verifiable artifacts derived from the simulator model,
not as hand-maintained documentation.
- 다이어그램은 토폴로지 스케일링에 걸쳐 안정적으로 유지된다.
- 거리 또는 라우팅 정책의 변경이 시각적으로 반영된다.
- 다이어그램은 수작업으로 유지되는 문서가 아닌, 시뮬레이터 모델로부터
파생된 검증 가능한 산출물의 역할을 한다.
---
## Links
- SPEC Section 4 (Output, Debuggability, and Diagrams)
- ADR-0002 (Routing distance semantics)
- ADR-0006 (Topology compilation & automatic diagram generation)
- ADR-0002 (라우팅 거리 의미)
- ADR-0006 (토폴로지 컴파일 및 자동 다이어그램 생성)