Appearance
[스튜디오/플레이] 메인 엔딩 이후 세계관 프롬프트 변경 및 반영 PRD
Backlog grooming 단계의 산출물. 무엇을 만들지·왜 만들지·핵심 비즈니스 룰을 정의한다. 화면별 디테일(컴포넌트·상태·인터랙션)은 spec.md로.
Status: draft Created: 2026-05-15 Last updated: 2026-05-18 Linear Project: 스튜디오/플레이 메인 엔딩 이후 세계관 프롬프트 변경 및 반영Author: agent (prd-writer) 앱/웹/스튜디오: 스튜디오 + 앱(플레이)
1. 목표 및 배경
1.1 문제
메인 엔딩에 도달한 유저가 이어하기로 진입한 자유 플레이에서, 기존 "이야기 진행" 전제의 world prompt가 그대로 시스템 프롬프트로 들어가 자유 플레이가 길어질수록 컨텍스트가 유실되고 결국 에피소드를 처음부터 다시 플레이하는 듯한 위화감을 준다.
- 사용자 정의 (segment):
- (플레이어) 메인 엔딩 도달 후 자유 플레이를 이어가는 유저
- (작가) 메인 엔딩 이후 세계 상태·관계 변화를 후속 플레이에 반영하고 싶은 스튜디오 작가
- 상황 (when, where): 메인 엔딩 화면 →
이어하기진입 → 정해진 이벤트 없는 자유 플레이 구간 - 불편 / 미충족 needs:
- 플레이어: 엔딩을 봤는데도 모델이 엔딩 이전 흐름으로 회귀, 캐릭터 관계/세계 변화가 반영되지 않음
- 작가: 엔딩 이후 세계관을 별도로 표현할 수단이 없어 자유 플레이 품질을 통제 불가
1.2 근거
- 도메인 구조: World Prompt는 매 턴 scene generation의 system info로 주입됨 → 자유 플레이에서 누적 컨텍스트가 길어질수록 system prompt와 실제 상태 간 괴리가 가장 큰 노이즈 원인
- Main ending은 다시하기/이어하기가 가능하고 자유 플레이가 길어질 수 있는 구조 → ending 별 후속 컨텍스트 정의 필요성이 구조적으로 존재
- 비슷한 과거 프로젝트: 없음 (신규 도메인 확장). main ending별 override라는 단위는 본 프로젝트에서 처음 도입.
1.3 아이디어 (해결 방향)
스튜디오 세계관 화면에 main ending별 "엔딩 프롬프트" 목록을 추가하고, 각 메인 엔딩 노드 안에서도 동일한 엔딩 프롬프트를 작성/수정할 수 있게 한다. 플레이어가 해당 main ending에서 이어하기로 자유 플레이 진입 시 이 prompt override를 system prompt로 사용한다.
- 옵션 1: 전역 "엔딩 이후 프롬프트" 1개 — 단순하지만 메인 엔딩이 여러 개일 때 분기 표현 불가. ❌
- 옵션 2: 메인 엔딩별 override (추천) — 엔딩별 세계 상태가 다르므로 자연스럽고, 작가가 필요한 엔딩만 override 작성 가능
- 옵션 3: 이벤트 노드 안에서만 관리 — 엔딩 노드 내부에 prompt 필드 추가. 위치는 자연스럽지만 작가가 "어디서 관리되고 있는지" 찾기 어려움 ❌
추천: 옵션 2를 기본으로 하되, 작성 진입은 2곳을 제공한다. (1) 세계관 화면의 기본 프롬프트 옆/아래 엔딩 프롬프트 목록, (2) 메인 엔딩 노드 편집 패널 내부. 두 진입점은 같은 main ending별 override 데이터를 편집한다.
1.4 가설
- 메인 엔딩별 override를 제공하면, 엔딩 이후 자유 플레이에서 캐릭터·세계 상태 일관성이 유지되어 "에피소드를 처음부터 다시 하는 듯한" 위화감이 줄어든다.
- 작가는 메인 엔딩별로 세계 상태 변화를 명시할 수 있어, 엔딩 이후 자유 플레이의 컨트롤가능성·완성도가 높아진다.
- override가 없는 main ending은 기존 동작을 그대로 유지하므로 기존 작품·기존 플레이에 회귀가 없다.
1.5 성공 지표
| 지표 | 현재 baseline | 목표 | 측정 방법 |
|---|---|---|---|
| 메인 엔딩 이후 0턴 이탈률 | 최근 30일 35.6% | 25% 이하 | main ending 최초 도달 후 후속 completed scene이 없는 play 비율 |
| 메인 엔딩 이후 후속 turn median | 최근 30일 4턴 / 최근 7일 3턴 / 누적 5턴 | 6턴 이상 | main ending 이후 이어하기 진입 play의 후속 completed scene/turn count median |
| 메인 엔딩 이후 5턴 이상 지속률 | 최근 30일 49.0% | 55% 이상 | 이어하기 이후 후속 turn count 5 이상 비율 |
| 메인 엔딩 이후 10턴+ 비율 | 최근 30일 41.4% | 유지 | 이어하기 이후 후속 turn count 10 이상 비율 |
| main ending 이후 이어하기 클릭률 | 재산출 필요 (기존 proxy: 최근 30일 64.4% / 최근 7일 61.0% / 누적 65.6%) | 유지 또는 ↑ | main ending 최초 도달 play 대비 click_play_ending_action event의 action_type = continue 발생 play 비율 |
| override 작성된 main ending 비율 (출간작 기준) | 0% | — (도입 후 baseline 수집) | studio publish snapshot 집계 |
- 본 기능의 1차 목표는 메인 엔딩 이후 장기 플레이어를 더 늘리는 것이 아니라, 0턴 이탈을 줄이고 사용자를 3~5턴 구간까지 진입시키는 것이다.
- 메인 지표는 평균 턴 수가 아니라 0턴 이탈률, median 턴 수, 5턴 이상 지속률로 본다. 최근 30일 평균은 47.6턴이지만 p99 684턴, 최대 4,223턴의 긴 꼬리에 끌리므로 제품 판단 기준선으로 부적합하다.
- 10턴+ 비율은 이미 41.4%로 높은 편이므로 메인 목표가 아니라 “깊게 남는 유저 유지” 가드레일로 둔다.
- 데이터 기준: main_ending 최초 도달 play, staff 제외.
이어하기클릭률은click_play_ending_actionevent의action_type = continue기준으로 재산출한다. 현재 baseline의 이어하기율은 main ending 이후 completed scene 발생으로 추정한 proxy 값이다. - 특정 대형 에피소드 편향은 크지 않다. 최대 에피소드
하트하우스제외 후에도 median 4턴, 0턴 35.7%로 전체 패턴과 거의 동일하다. - 비교 기준 후보:
- 기능 도입 전/후 cohort.
- override 설정 main ending vs override 미설정 main ending.
- override mode별(
inherit/override_empty/override_value) 자유 플레이 턴 수.
- 가드레일: override가 없는 main ending 자유 플레이 retention이 악화되지 않을 것 (회귀 없음 검증).
2. 타깃 사용자
2.1 주요 사용자
- 스튜디오 작가: 자신이 만든 작품에 메인 엔딩이 1개 이상 있고, 엔딩 이후 자유 플레이의 질을 통제하고 싶은 작가. 세계관 화면을 자주 다듬는 사용자.
- 앱 플레이어: 메인 엔딩에 도달한 뒤
이어하기로 자유 플레이에 진입하는 유저. 엔딩 후에도 캐릭터/세계와 상호작용을 이어가고 싶어 함.
2.2 핵심 시나리오
- 작가: 한 작품에 메인 엔딩이 2개 있다. 세계관 화면에서 "메인 엔딩 이후 프롬프트" 섹션을 열어 엔딩 A에는 override 작성, 엔딩 B는 기본 세계관 사용으로 둔다. 출간 후 플레이어가 엔딩 A에 도달하면 override가 적용된다.
- 플레이어: 메인 엔딩 A 도달 → 엔딩 화면에서
이어하기탭 → 자유 플레이 진입. 모델이 엔딩 이후 세계 상태(예: 캐릭터 관계 변화, 도시 상태 변화)에 부합하게 응답한다. - 작가 (편집): 메인 엔딩 B 이름을 바꾸거나 삭제. 세계관 화면의 row가 자동 동기화되어 stale row가 남지 않는다.
3. 핵심 기능 요구사항
3-1. 클라이언트 (스튜디오)
세계관 화면: 엔딩 프롬프트 목록
- 주요 동작: 작가가 작품의 main ending 각각에 대해 "엔딩 프롬프트"(메인 엔딩 이후 world prompt override)를 작성/수정/제거할 수 있다.
- 노출 조건: 작품에 main ending이 1개 이상 존재할 때만 섹션 노출. 0개면 섹션 숨김.
- 목록 구성: main ending별 1 row.
- 엔딩명 (작가가 설정한 이름)
- 상태 배지:
기본 세계관 사용/별도 프롬프트 사용 - 액션 버튼:
작성하기(override 없음) /수정하기(override 있음)
- 편집 화면:
- 기존 세계관 프롬프트 편집 UX와 동일한 textarea
- 저장 / 취소
- "기본 세계관으로 되돌리기" 액션 (override 자체를 제거 →
기본 세계관 사용상태로 복귀)
- 비즈니스 룰:
- override 상태는 3가지:
없음/있음+빈값/있음+입력값없음: row 상태 =기본 세계관 사용. 런타임에서 기본 world prompt 사용.있음+빈값: row 상태 =별도 프롬프트 사용. 런타임에서 빈 문자열을 override로 적용 (= world prompt 비활성). 작가의 의도적 선택으로 간주.있음+입력값: row 상태 =별도 프롬프트 사용. 런타임에서 입력값을 system prompt로 사용.
기본 세계관으로 되돌리기=있음 → 없음전이. 빈 문자열로 저장과 의미가 다름.- override는 main ending별 독립. 한 작품 내 다른 엔딩에 영향 주지 않음.
- override 상태는 3가지:
- 상태별 동작:
- main ending이 새로 추가되면 row가 자동 생성되고 기본은
기본 세계관 사용. - main ending이 삭제되면 해당 override도 함께 삭제 (orphan 방지).
- main ending 이름이 변경되면 row의 엔딩명도 동기화.
- main ending이 새로 추가되면 row가 자동 생성되고 기본은
메인 엔딩 노드 편집 패널: 엔딩 프롬프트 작성 진입
- 주요 동작: 작가가 메인 엔딩 노드를 선택/편집하는 흐름 안에서도 해당 엔딩의 엔딩 프롬프트를 작성/수정할 수 있다.
- 노출 조건: 선택한 이벤트 노드가 main ending일 때만 노출. 일반 이벤트/sub ending에는 노출하지 않는다.
- 데이터 동기화: 노드 안에서 저장한 값은 세계관 화면의 동일 ending row 상태와 즉시 동기화된다. 세계관 화면에서 저장한 값도 노드 편집 패널에 동일하게 표시된다.
- 표현 원칙: 노드 편집 패널은 해당 엔딩 1개의 prompt 편집 진입점이고, 전체 main ending 목록/상태 관리는 세계관 화면이 담당한다.
세계관 화면의 기존 동작
- 기존 "기본 세계관 프롬프트" 입력 UX·저장 동작은 그대로 유지.
- 본 기능은 그 아래(또는 인접 영역)에
엔딩 프롬프트목록으로 추가되며 기본 prompt 작성/수정 흐름을 막지 않는다.
3-2. 클라이언트 (앱/플레이)
메인 엔딩 → 이어하기 → 자유 플레이
- 주요 동작: 플레이어가 메인 엔딩 화면에서
이어하기를 탭하면, 해당 엔딩의 override 설정에 따라 자유 플레이의 system prompt가 결정된다. - 비즈니스 룰:
- 자유 플레이 진입 시 활성 world prompt 선택 규칙:
- 도달한 main ending에 override가
있음+입력값→ 입력값을 system prompt로 사용 - override가
있음+빈값→ 빈 문자열을 system prompt로 사용 (world prompt 비활성) - override가
없음또는 도달한 엔딩이 main ending이 아닌 경우 → 기본 world prompt 사용
- 도달한 main ending에 override가
- sub ending 도달 후 흐름은 변경 없음. (이어하기 불가 — 본 기능 범위 외)
- 메인 엔딩 화면 이전 구간(엔딩 도달 전)에는 어떤 경우에도 override가 적용되지 않는다.
이어하기진입 시점부터 적용. - 사용자가
이어하기로 자유 플레이에 진입한 뒤에도, 이전 scene으로 돌아가 메인 엔딩 이전 scene을 다시 생성하는 경우에는 post-main-ending override를 쓰지 않고 기본 world prompt를 적용한다.
- 자유 플레이 진입 시 활성 world prompt 선택 규칙:
- 적용 단위: prompt 선택은 play 전체 고정값이 아니라 generation 대상 scene의 위치/상태 기준으로 판단한다. 메인 엔딩 이후 자유 플레이 scene 생성에는 override를 적용하고, 메인 엔딩 이전 scene 재생성에는 기본 world prompt를 적용한다. 이어하기로 재진입할 때마다 publish snapshot 기준으로 재평가.
3-3. 백엔드 / 시스템
- Publish snapshot 확장: Studio publish 시 Episode Content snapshot에 main ending별 world prompt override가 함께 저장된다.
- 자료 구조 (의도 수준):
mainEndings: [{ endingId, name, worldPromptOverride: { mode: 'inherit' | 'override', value?: string } }] mode: 'inherit'= override 없음.mode: 'override'+value: ''= 빈값 override.mode: 'override'+value: '...'= 입력값 override.
- 자료 구조 (의도 수준):
- Generation context: scene generation context 빌드 시, play-local 도달 ending 정보 + publish snapshot의 override 매핑 + generation 대상 scene의 위치/상태를 결합해 system prompt 결정.
- generation 대상이 메인 엔딩 이후 자유 플레이 scene이면 해당 main ending의 override 규칙을 적용한다.
- generation 대상이 메인 엔딩 이전 scene 재생성/수정이면, 사용자가 이미
이어하기를 누른 이력이 있더라도 기본 world prompt를 적용한다.
- 기존/진행 중 play 영향: 변경 사항은 새로 시작하는 play부터 적용. 진행 중인 자유 플레이 세션은 영향 없음 (publish snapshot은 play 시작 시 본떠진 컨텍스트를 따름).
3-4. 딥링크 / URL 구조
해당 없음. 기존 /episode-play/:episodeId 진입 경로 그대로 사용.
3-5. Scope
포함 (In scope)
- 스튜디오 세계관 화면 내 main ending별 override 관리 섹션
- override 3상태(
없음/있음+빈값/있음+입력값) 저장·노출·런타임 적용 - main ending 추가/삭제/이름 변경에 따른 row 동기화
- publish snapshot에 override 매핑 포함
이어하기로 자유 플레이 진입 시점부터 override 적용- 진행 중 play에 영향 없음 (snapshot 기반 격리)
- override 적용 여부를 검증/분석할 수 있는 로깅
제외 (Out of scope)
- sub ending에 대한 override (이어하기 불가)
- 일반 자유 플레이(엔딩 미도달) 진입 시 override 적용
- World prompt 외 다른
EpisodeDraftConfig항목(prevent impersonation, dice, character solo, view mode, model alias)의 ending별 override - 자유 플레이에서 다시 본편 흐름으로 되돌아가는 모드 전환 UX
- 작가용 override preview/테스트 플레이 도구
4. 에러 처리 및 예외 상황
| 상황 | 처리 방향 |
|---|---|
| publish 후 main ending이 추가된 경우(snapshot에 없는 ending) | snapshot 기준으로만 판단 → 새 main ending은 다음 publish 전엔 override 없는 상태로 동작 |
| main ending이 삭제된 작품을 이전에 플레이하던 유저가 이어하기 | 그 play는 자기 시점의 snapshot을 따르므로 기존 동작 유지. 새 play에선 해당 ending 자체가 사라짐. |
| override 입력값이 매우 길어 모델 컨텍스트 한계 근접 | 기본 world prompt와 동일 정책으로 처리 (별도 룰 없음 — 정책 일치). 한도 정책은 기존 세계관 입력 한도와 같게 둔다. |
| 빈값 override 저장 시 작가가 의도치 않게 저장했을 위험 | 저장 시점에 별도 confirm 없이 즉시 저장하되, row 상태 별도 프롬프트 사용 배지 + "내용 없음" 보조 텍스트로 명확히 표시 |
| 네트워크 오류로 override 저장 실패 | 일반 폼 저장 실패와 동일 처리 (에러 토스트 + 재시도) |
| 이어하기 이후 이전 scene으로 돌아가 엔딩 전 scene 재생성 | generation 대상 scene이 메인 엔딩 이전이면 기본 world prompt 사용. 이어하기 이력만으로 override를 전역 적용하지 않음. |
5. 데이터 분석
5.1 핵심 지표
- 0턴 이탈률: main ending 최초 도달 후 후속 completed scene이 없는 play 비율. 최근 30일 baseline 35.6% → 목표 25% 이하.
- 후속 turn median: main ending 이후
이어하기로 자유 플레이에 진입한 play의 후속 completed scene/turn count median. 최근 30일 baseline 4턴 → 목표 6턴 이상. - 5턴 이상 지속률:
이어하기이후 후속 turn count 5 이상 비율. 최근 30일 baseline 49.0% → 목표 55% 이상. - 10턴+ 비율: 최근 30일 baseline 41.4%. 이미 높은 편이므로 “깊게 남는 유저 유지” 가드레일로 추적.
- override 작성률: 출간작의 main ending 중 override가 작성된 비율.
- override 적용률: 자유 플레이 진입 중 override가 실제 적용된 세션 비율.
데이터 베이스라인
기준: main_ending 최초 도달 play, staff 제외. 이어하기 클릭률은 click_play_ending_action event의 action_type = continue 기준으로 산출한다. 아래 이어하기율은 main ending 이후 completed scene 발생으로 추정한 기존 proxy 값이므로, 클릭 이벤트 기준으로 재산출 필요.
| 기간 | main 도달 play/user | 이어하기 proxy play/user | 이어하기 proxy율 | avg / median / p75 / p90 |
|---|---|---|---|---|
| 최근 30일 | 1,383 / 1,013 | 890 / 731 | 64.4% | 47.6 / 4 / 26 / 83 |
| 최근 7일 | 249 / 201 | 152 / 134 | 61.0% | 40.1 / 3 / 23 / 72 |
| 전체 누적 | 4,478 / 3,157 | 2,939 / 2,302 | 65.6% | 52.0 / 5 / 27 / 88 |
최근 30일 후속 turn 분포:
| 후속 turn | play | 비중 |
|---|---|---|
| 0턴 | 493 | 35.6% |
| 1~2턴 | 130 | 9.4% |
| 3~4턴 | 83 | 6.0% |
| 5~9턴 | 105 | 7.6% |
| 10턴+ | 572 | 41.4% |
판단:
- 초반 이탈은 크다. 최근 30일 기준 main ending 도달 후 35.6%가 0턴이다.
- 하지만 남는 유저는 깊게 간다. 10턴 이상 41.4%, p90은 83턴이다.
- 평균은 긴 꼬리에 끌린다. 최근 30일 p99 684턴, 최대 4,223턴이므로 median 4턴이 더 현실적인 기준선이다.
- 최대 에피소드
하트하우스제외 후에도 median 4턴, 0턴 35.7%로 거의 같아 특정 대형 에피소드 하나가 전체 패턴을 만든 것은 아니다.
5.2 로깅 이벤트
컨벤션: snake_case, 동사_명사. 기존
episode-player/studio그룹 우선 재사용.
| 타입 | 이름 | 용도 | 파라미터 | 그룹 | 상태 |
|---|---|---|---|---|---|
| Event | apply_post_main_ending_world_prompt | 자유 플레이 진입 시 어떤 모드의 world prompt가 적용됐는지 기록 | episode_id, play_id, main_ending_id, override_mode(inherit/override_empty/override_value) | episode-player | 🆕 신규 |
| Event | save_post_main_ending_world_prompt | 작가가 override를 저장/수정/제거할 때 | episode_id(draft), main_ending_id, override_mode 전이(from/to) | studio | 🆕 신규 |
| Event | view_post_main_ending_world_prompt_section | 세계관 화면에서 섹션이 노출됐을 때 (작가가 접근했는지 측정) | episode_id(draft), main_ending_count | studio | 🆕 신규 |
6. Ubiquitous Language
| Term | Korean | Definition | Do Not Confuse With | Primary Domain | 상태 |
|---|---|---|---|---|---|
| Post-main-ending World Prompt Override | 메인 엔딩 이후 세계관 프롬프트 | 특정 main ending에 도달한 후 자유 플레이에서 system prompt로 사용되는 main-ending별 world prompt 대체값. 3상태(inherit / override+empty / override+value)를 가짐. | 기본 World Prompt(전역) / Sub ending prompt(범위 외) | Studio + Play | 신규 |
기존 UL의
World Prompt,Main Ending,Episode Content snapshot,EpisodeDraftConfig는 재사용. 변경 없음.
7. Open Questions
- [ ]
있음+빈값override를 UI에서 별도 시각화할지 — 현재는별도 프롬프트 사용배지 + 보조 텍스트로 표현. 작가에게 충분히 명확한지 spec 단계에서 디자이너 확인. (디자이너) - [ ] 세계관 입력 길이 제한과의 정합성 — override 입력값에 기본 world prompt와 같은 글자 수 제한을 두는지, 또는 각각 별도 한도인지. (엔지니어)
- [ ] 스튜디오 미리보기/테스트 플레이에서 override 동작 여부 — 본 프로젝트 범위는 publish snapshot 기반 자유 플레이 적용. 스튜디오 내 테스트 플레이에도 적용할지 별도 결정 필요. (PM)
부록: 메타 정보
Required artifacts
- [x] Spec (
needs-spec) — 세계관 화면 섹션 UI/상태/인터랙션 + 자유 플레이 진입 시점 적용 규칙 명세 - [x] Design (
needs-design) — 세계관 화면 메인 엔딩 이후 프롬프트 섹션 시안 (row, 상태 배지, 편집 화면) - [ ] QA scenarios — Sprint planning 단계에서 작성
- [ ] Migration plan — publish snapshot 스키마 확장이지만 기존 publish 데이터는 inherit-only로 자연 호환 → 별도 migration 불필요
- [x] Tracking events (
needs-tracking) — §5.2 신규 3개 이벤트 정의
진행 패턴
- [x] Pattern 1: Spec → Design (스튜디오 화면 변경은 spec 먼저, 시각 탐색은 그 다음)
Size & Risks
T-shirt Size
- Size: S
- Confidence: medium
- 추정 근거: 스튜디오 세계관 화면에 섹션 1개 추가 + publish snapshot에 매핑 추가 + 자유 플레이 system prompt 선택 분기 1개. 영향 모듈 분명함. 기존 generation context 빌드 로직에 분기 추가가 가장 큰 변수.
주요 위험 요소
| 위험 | 영향 | 대응 |
|---|---|---|
| 자유 플레이 generation context 빌드 시 override 미적용 회귀 | 엔딩별 override가 적용되지 않거나, 반대로 override 없는 엔딩에 잘못 주입 | 로깅 apply_post_main_ending_world_prompt로 매 세션 적용 모드 추적, QA 시나리오에서 3상태 × 도달 ending 매트릭스 검증 |
| publish snapshot 확장에 따른 기존 작품 호환성 | 기존 publish 데이터에 override 필드 없음 | 결측 = inherit로 해석. migration 불필요. |
| 빈값 override의 의도성 모호 | 작가가 실수로 비워 저장하면 자유 플레이 system prompt가 비어버림 | UI 상태 배지 + 보조 텍스트, 추후 데이터 보고 confirm UX 추가 검토 |
의존성
- 다른 작업: 없음
- 다른 팀: BE (publish snapshot 스키마 확장), FE-스튜디오 (세계관 화면), FE-앱 (자유 플레이 진입 context 선택)
- 외부 요인: 없음
References
- Frontia wiki:
wiki/foundation/ubiquitous-language.md— World Prompt, Main Ending 정의 - Linear project: https://linear.app/deepgrov/project/스튜디오플레이-메인-엔딩-이후-세계관-프롬프트-변경-및-반영-main-ending-world-prompt-override
- Linear issue: https://linear.app/deepgrov/issue/DEE-120
🔍 검토 필요
🚨 결정 필요 (큰 결정)
- (없음 — 방향성·범위는 Linear 이슈 본문에서 모모가 confirmed decisions로 픽스함)
⚠️ 추정 (정보 부족하지만 진행)
- 성공 지표 baseline 수치는 데이터 agent 호출 전이라 비워둠 (§1.5)
- override 입력값 글자 수 제한은 기본 world prompt와 동일하다고 가정 (§4, §7)
- 신규 로깅 이벤트의 group 할당(
episode-player/studio)은 기존 컨벤션 기반 추정. event-docs에 등록할 때 최종 확정.
❓ 외부 agent 호출 필요
- 데이터 agent: 현재 메인 엔딩 도달 유저의 자유 플레이 평균 턴 수, 3턴 이내 이탈률 baseline 측정 (§1.5)
- 코드 agent:
EpisodeDraftConfig및 publish snapshot 직렬화 위치 확인 — main ending override 필드를 자연스럽게 끼울 수 있는 지점 (§3-3) - 코드 agent: 자유 플레이 generation context 빌드 진입점 확인 — 도달 ending 정보가 이미 play-local에 있는지, 없다면 어디서 가져오는지 (§3-3)
- 디자이너 / Figma: 세계관 화면 메인 엔딩 이후 프롬프트 섹션 시안 (Spec 단계에서)