Rubric Labs
M7· 확장성 정책L344–355Ch 26 / 28

처음 보는 내용은 어떻게 처리할까

확장에는 관대, 모호함에는 엄격

원문 발췌 · L344355
# Consumer Behavior for Unknown Content

When a DESIGN.md consumer encounters content not defined by this spec:

| Scenario | Behavior | Example |
|---|---|---|
| Unknown section heading | Preserve; do not error | `## Iconography` |
| Unknown color token name | Accept if value is valid | `surface-container-high: '#ede7dd'` |
| Unknown typography token name | Accept as valid typography | `telemetry-data` |
| Unknown spacing value | Accept; store as string if not a valid dimension | `grid-columns: '5'` |
| Unknown component property | Accept with warning | `borderColor` |
| Duplicate section heading | Error; reject the file | Two `## Colors` headings |

스펙에 없는 내용이 파일에 들어 있으면 어떻게 할까요? 여섯 가지 상황별로 다르게 대처해요.

L344When a DESIGN.md consumer encounters content not defined by this spec:
한국어로 풀면

DESIGN.md를 읽는 쪽(파서·AI)이 스펙에 정의되지 않은 내용을 만났을 때 어떻게 해야 하는지를 정리해 둔 표예요.

여섯 가지 상황 표

상황동작
처음 보는 섹션 제목 (예: ## Iconography)보존 — 에러 안 냄
처음 보는 색 이름값이 유효하면 받음
처음 보는 폰트 토큰 이름유효한 폰트로 받음
처음 보는 spacing 값 ('5' 같은 문자열)문자열로 저장
처음 보는 컴포넌트 속성 (예: borderColor)받되 경고
같은 섹션이 두 번 나오는 경우 (## Colors × 2)에러 — 파일 거부

세 가지 정책의 철학

보존 (가장 관대)

처음 보는 섹션·토큰 이름 → 그대로 둠. 스펙이 커질 여지를 남기기 위해서.

경고 (중간)

처음 보는 컴포넌트 속성 → 받되 경고. 실수일 수도 있고 확장일 수도 있어서.

에러 (엄격)

같은 섹션 중복 → 거부. 어느 쪽 내용을 믿어야 할지 알 수 없어서.

왜 처음 보는 섹션은 그냥 보존할까

팀마다 필요한 섹션이 달라요 — ## Iconography(아이콘), ## Motion(모션), ## Sound(소리) 등. 스펙이 이 모든 걸 미리 정의할 필요 없이, 모르는 섹션은 그대로 두는 것만으로 확장 여지가 생겨요. AI는 섹션 이름을 보고 내용을 유추해서 써요.

왜 중복 섹션만 에러일까

같은 섹션이 두 번 있으면

## Colors가 파일 안에 두 번 나온다고 해봐요. 첫 번째 블록엔 오래된 팔레트, 두 번째 블록엔 새 팔레트.

AI나 파서는 어느 쪽을 믿어야 할지 몰라요. 합치자니 충돌, 첫 번째만 쓰자니 두 번째를 버리게 됨. 가장 안전한 선택은 "파일 전체를 거부하고 사용자에게 고치라고 말하는 것"이에요. 그래서 에러.

spacing에 이상한 값이 왔을 때

grid-columns: '5'처럼 숫자도 Dimension도 아닌 문자열이 오면? "모르는 타입"으로 표시해 저장해요. AI나 구현체가 나중에 문맥을 보고 해석하도록 여지를 남겨요.

핵심 인사이트

한 줄로 요약하면 "확장에는 관대하게, 모호함에는 엄격하게"예요. 새 섹션·새 이름은 다 허용해서 포맷이 자연스럽게 자랄 수 있게 열어 뒀지만, "어느 게 진짜야?" 같은 모호한 상황만은 단호하게 거부해요. 이 패턴은 API·프로토콜·스펙 설계 전반에 그대로 응용할 수 있어요.

체크리스트

  • 여섯 가지 상황의 동작을 각각 떠올릴 수 있다
  • 보존·경고·에러 3단계의 기준을 말할 수 있다
  • 중복 섹션만 에러인 이유를 파서 입장에서 정당화할 수 있다