wiki2 observatory nornen knowledge atlas

decision · wiki/decision-100steps-catalog-ssot.md

Decision — 100steps catalog SSOT layers

**클라이언트 편집 정본** = `catalog_bundle.json`. **온라인** = published bundle. **`90` seed** = e2e MVP. **`91` seed** = 번들에서 생성한 DB 전체 콘텐츠 층.

corpusprojectlayerjudgmenttypedecisiondomaingame-systemsproject100stepsstatusactiveupdated2026-07-18originowned

Decision — 100steps catalog SSOT layers

한 줄: 클라이언트 편집 정본 = catalog_bundle.json. 온라인 = published bundle. 90 seed = e2e MVP. 91 seed = 번들에서 생성한 DB 전체 콘텐츠 층.

결정

  1. 콘텐츠 수정 절차: 번들 수정 → export_catalog_bundle.py 검증 → generate_seed_from_catalog_bundle.py로 91 재생성 → (배포 시) draft/approve/publish.
  2. 숫자는 층 이름을 붙여 말한다 (comparison 표).
  3. e2e/integration 기본은 여전히 90 (9장). 풀 DB는 90 다음 91leftover 주의 (decision-100steps-seed-90-leftover).
  4. fixture 9장은 회귀 앵커로 유지 가능 (의도적 최소).
  5. seed 자동화 (이행): 91 ≈ 번들 관계형 카탈로그 전량( cards…events ). verify-all 1.5 --check. migrations 096 event_battle, 097 commotion.

대안

결과
A. seed를 유일한 SSOT 기각 — Godot 파일 정본화 이미 완료
B. 번들 SSOT + seed 픽스처 + publish 서빙 기본 채택
C. seed←bundle 생성 파이프 부분 이행91 생성+check; e2e는 90 유지

근거

폐기·재검토

  • e2e가 published/91 풀 콘텐츠를 직접 쓸 때 90 축소 가능
  • backend 통합 테스트가 91을 기본 적용할 때
  • leftover prune 도입 여부 — decision-100steps-seed-90-leftover

관련