FractalOps 코드베이스 승격/강등 정책
FractalOps 코드베이스 승격/강등 정책
Section titled “FractalOps 코드베이스 승격/강등 정책”- SSOT 우선 원칙 유지: 실행 경로에 테넌트/도메인/IP 하드코딩 금지
- 멱등성과 재현성 보장: 인프라/커넥터 연산은 반복 실행 가능해야 함
- 단기 전술 코드는 빠르게 강등하고, 재사용 가능한 모듈만 승격
flowchart LR
newcode["신규 기능\n(기본 Tier A로 시작)"] --> gate{승격 게이트}
gate -->|SSOT high=0\n+ 멱등 재실행\n+ 배포/검증 통과| tierS["Tier S\n재사용 코어"]
gate -->|일부만 충족| tierA["Tier A\n정규화 후보"]
tactical["특정 호스트/테넌트 전제\nside effect 큼 · 가드 없음"] --> tierB["Tier B\n전술/retired-path\n→ Tier S/A로 대체 후 제거"]
tierA -. 정규화 .-> tierS
tierB -. 강등/제거 .-> tierA
Tier S (승격: 재사용 코어)
Section titled “Tier S (승격: 재사용 코어)”- 조건
- 런타임 값은
FRACTALOPS_*SSOT에서만 읽는다. (근거:backend/src/fractalops/foundation/ssot_keys.py,foundation/runtime_ssot.py) - 멱등 실행 보장(같은 입력으로 재실행 시 상태 안정).
- 특정 조직값 하드코딩 없음.
- 자동화 가능한 출력(JSON 요약/머신리더블)을 제공.
- 런타임 값은
- 예시
platform/k8s/cue-generate.shops/lxc/drift_check.pybackend/src/fractalops/domain/<context>/features/*하위 도메인 모듈
Tier A (후보: 거의 충족, 정규화 필요)
Section titled “Tier A (후보: 거의 충족, 정규화 필요)”- 증상
- helper 중복/유사 로직 중복
- 플래그/옵션 네이밍 불일치
- 임시 우회 경로가 실행 코드로 유입
- 조치
- 공통 helper로 흡수 (예:
foundation/공유 유틸로 추출) - SSOT 키 네이밍 통일 (
FRACTALOPS_*) - preflight/wizard 템플릿 경로로 입력 강제
- 공통 helper로 흡수 (예:
Tier B (강등: 전술/retired-path)
Section titled “Tier B (강등: 전술/retired-path)”- 증상
- 특정 호스트/테넌트 전제 스크립트
- 수동 절차 없이는 재현 불가능
- side effect가 크고 가드레일 없음
- 조치
- 운영 재사용 금지
- Tier S/A 모듈로 대체 후 제거
승격 게이트
Section titled “승격 게이트”1) SSOT 스캔
Section titled “1) SSOT 스캔”실행 경로에 하드코딩된 테넌트/도메인/IP가 있는지 검사합니다.
make infra-ssot-scan # 비엄격: 리포트만make infra-ssot-scan-strict # 엄격: high 발견 시 실패 (승격 게이트)make infra-ssot-scan-strict-allTier S 승격은 strict 스캔에서 high=0이어야 합니다.
2) 멱등 검증
Section titled “2) 멱등 검증”- 동일 입력으로 2회 실행해 결과가 안정적인지 확인 (두 번째 실행이 새 부수효과를 만들지 않아야 함)
3) 런타임 검증
Section titled “3) 런타임 검증”- 배포 경로에서 preflight/readiness가 정상인지 확인
make smoke-api # API 스모크make verify-runtime # API + readiness + Temporal 전체 검증make drift-check # 토폴로지 대비 인프라 드리프트- 신규 기능은 Tier A로 시작
- 다음 3가지 충족 시 Tier S 승격
- SSOT 스캔 high=0 (
make infra-ssot-scan-strict) - 멱등 재실행 성공
- 배포/검증 파이프라인 통과 (
make verify-runtime등)
- SSOT 스캔 high=0 (
- FractalOps Constitution — 예외 법(time-bounded debt)
- Architecture Overview — 검증과 생성 게이트
- Current Stack, Solution, and IA Map — deprecation/cleanup 규칙
- Tach DDD / Feature Slice Boundary Standard