원천 소설 유닛 — 컴포넌트 추출 원료 — 직접 임포트 아님
{
"contract": "matrix-source-unit-v1",
"source_unit_id": "novel.01-05-65346467f4e7",
"lane": "novel",
"source": {
"source_id": "novel.01-05-65346467f4e7",
"source_version": "1.0.0",
"title": "리얼판타지아01권-05권완",
"creator": null,
"canonical_url": null,
"scope": "전체 읽기 (21 묶음, 장 순서)",
"rights_status": "private_review_only",
"evidence": {
"snapshot_sha256": "sha256:12e4e25e3e87d497b65ec925c6a22c233bf87ea552ffd1c00472ce42145860ad",
"snapshot_bytes": 2411159,
"captured_at": "2026-08-03T06:59:27.573726+00:00",
"evidence_ref": null
},
"source_repo": "scenario",
"source_commit": "5d6968a216c3d87ebd887a689f73539729bcbfaf",
"original_path": "catalog/source_units/su-novel-리얼판타지아01권-05권완-12e4e25e.json"
},
"access": {
"verdict": "not_applicable",
"protected_probe_passed": null,
"member_list_probe": null,
"page_access": "not_applicable",
"recovery": "not_applicable"
},
"context": {
"summary": "소설 '리얼판타지아01권-05권완' 전체 읽기 (21개 묶음). evidence_continuity=continuous_source.",
"why_collect": "매트릭스 인과 엔진용 조리법(recipe)과 재료(character/world) 수집.",
"creator_intent": null,
"audience_response": [],
"insight_summary": "리얼판타지아01권-05권완"
},
"coverage": {
"primary_text": "found",
"discussion": "not_applicable",
"downloads": "not_applicable",
"creator_catalog": "not_found",
"adjacent_assets": "not_applicable",
"summary": "소설 원문 3구간 샘플링 읽기. SHA 12e4e25e3e87d497."
},
"files": [],
"knowledge": {
"situations": [
{
"situation_id": "sit-1",
"summary": "유산을 물려받은 상실자 — 죽은 자의 발자국을 따라가는 자",
"setup": "당신은 방금 가장 사랑하는 사람을 잃었다. 할아버지의 영안실 문을 열었을 때, 뒤돌아볼 수 없는 고요함이 흘렀다. 한 달이 지나도 빈자리의 크기는 줄지 않았다. 그런데 어느 날, 아버지가 조용히 불러 말한다 — 할아버지가 유언으로 남긴 유산이 있다고. 땅도, 돈도 아니다. 할아버지가 평생 썼던 온라인 게임 계정과 기기 일체. 당신은 어리둥절하면서도, 할아버지가 생각 없이 이런 것을 남겼을 리 없다는 걸 안다. 게임사 직원이 집으로 기기를 들고 와 설치해 주고, 친절하게 계정 인수 절차를 안내한다. 계정 이전이 완료되는 순간, 시스템 메시지가 뜬다 — '기존 사용자 김종석 씨로부터 손자 김형민 님께 이전되었음을 알려드립니다.' 그 문장을 읽는 순간, 당신은 이것이 단순한 게임 접속이 아니라는 걸 깨닫는다. 당신은 할아버지가 수년간 걸어 다녔던 세계에, 할아버지의 캐릭터에, 할아버지가 맺었던 관계에, 할아버지가 보았던 풍경에 당신의 발을 올려놓는 것이다. 접속 버튼을 누르기 직전, 현기증이 인다. 캐릭터와 당신의 신체 수치가 동기화되면서, 당신의 운동신경과 뇌파가 할아버지가 쓰던 아바타에 덮어씌워진다. 그 순간 당신은 묻는다 — 할아버지는 나에게 무엇을 가르치려 하셨을까. 그리고 세계 로딩 화 너머로, 바람이 불어온다. '방랑자여, 지금 카마프라에 발을 디디는구나.' 할아버지가 매일 들어갔다 나왔던 그 문을, 이제 당신이 통과한다.",
"actors": [
"사랑하는 사람의 죽음 이후, 그가 남긴 낯선 세계로 홀로 발을 들여놓는 젊은 상실자",
"물려받은 것의 진짜 의미를 모른 채, 그것을 통해 보내는 사람의 마지막 메시지를 해독해가는 존재"
],
"goals": [
"사랑하는 사람이 남긴 마지막 메시지를 해독하고 싶은 욕구"
],
"tension": "죽은 사람이 남긴 낯선 세계에 홀로 진입해야 하는 두려움과, 그 속에서 무언가를 발견해야 한다는 압박감",
"sequence": [
"(장면 전개는 source_trace 참조)"
],
"outcome": "(결과는 source_trace open_pressures 참조)",
"emotional_effect": "우리는 모두 사랑하는 사람을 잃은 뒤, 그 사람이 남긴 흔적 속에서 미처 듣지 못한 마지막 말을 찾고 싶어 한다",
"why_memorable": "유산은 물건이 아니라 경험이다 — 죽은 자가 살았던 시간의 공간에 직접 발을 디딤으로써, 비로소 그 사람을 이해하게 된다",
"evidence_refs": [
"sha256:12e4e25e3e87d497b65ec925c6a22c233bf87ea552ffd1c00472ce42145860ad"
]
},
{
"situation_id": "sit-2",
"summary": "현실의 닻 — 떠내려가는 자를 붙잡아주는 친우",
"setup": "할아버지가 돌아가시고 한 달째, 주인공은 정신을 차리지 못한다. 그 사이, 이 친구는 매일 출퇴근하듯이 주인공의 곁에 나타났다. 밥을 챙겨주고, 빈 안주 접시를 새로 시켜주고, 과자 부스러기를 던지며 장난을 치는 것 — 그것이 이 친구가 할 수 있는 최선의 애도 방식이다. 카페에 마주 앉아 맥주를 마시는 저녁, 주인공이 할아버지에게서 게임 계정을 물려받았다는 이야기를 꺼내면, 이 친구는 잠시 멈추더니 '훗' 하고 웃는다. 그리고 말한다 — '운이 좋구나, 나랑 내 여동생도 그 도시다.' 그 한마디에 담긴 뜻은 단순하지 않다. 이 친구는 주인공이 혼자 가상세계에 들어가는 것을 두고 보지 않겠다는 뜻이다. 자신도 그 세계에 있겠다. 주인공이 어느 도시에서 시작하는지 묻자, 자신과 여동생의 시작 위치를 즉시 확인해 대답해 준다. '12시에 접속하도록 노력해볼게.' 그 말은 단순한 게임 약속이 아니다. 당신이 낯선 곳에 첫발을 디딜 때, 거기에 아는 사람이 있을 거라는 약속이다. 주인공이 감사하다고 하자, 이 친구는 바닥에 떨어진 과자를 주워 던지며 소리친다 — '짜식아!! 너 때문이냐!! 너희 누님 때문이지!!' 감정을 직접 드러내는 것을 피하면서도, 자신이 왜 곁에 있었는지를 말하지 않는다. 그것이 이 우정의 본질이다.",
"actors": [
"주인공이 스스로를 돌보지 못할 때 출퇴근하듯 찾아와 일상을 유지시켜주는 절친",
"자신의 감정을 드러내지 않고, 장난과 농담으로 곁에 있음을 증명하는 방식의 우정"
],
"goals": [
"소중한 사람이 스스로 무너지는 것을 지켜보지 않겠다는 의지"
],
"tension": "떠내려가는 친구를 붙잡아 현실에 묶어두어야 하는데, 정작 붙잡는 방법이 그 친구를 낯선 세계로 밀어 보내는 것임",
"sequence": [
"(장면 전개는 source_trace 참조)"
],
"outcome": "(결과는 source_trace open_pressures 참조)",
"emotional_effect": "진짜 친구는 슬퍼하는 자에게 위로를 주지 않고, 그저 같이 게임 속에서 기다려주는 사람이다",
"why_memorable": "위로는 말이 아니라 '거기 있을게'라는 약속으로 충분하다 — 낯선 세계에 함께 있어주겠다는 한마디가 가장 큰 위로다",
"evidence_refs": [
"sha256:12e4e25e3e87d497b65ec925c6a22c233bf87ea552ffd1c00472ce42145860ad"
]
}
],
"source_traces": [
{
"trace_id": "trace-1",
"summary": "운영자의 강제 전이로 적진에 던져진 계정 승계자가 적의 핵심 장비를 탈취하면서, 거대 길드 전체의 추격과 고가 암살 계약이라는 연쇄적 생존 위기를 촉발한다. 이 압력은 결국 계정 승계자를 클래스 승급과 신무기 제작이라는 전투력 결집으로 내몈다.",
"evidence_continuity": "continuous_source",
"steps": [
{
"step_id": "s1",
"event": "운영자가 권한을 남용해 사이토를 적대 길드 보물창고로 강제 전이시킨다",
"owner": "character",
"state_before": "사이토는 생산 중심 캐릭터로 적대 세력과 직접적 충돌이 없는 상태",
"action": "게이트스톤을 이용한 강제 좌표 전이",
"state_delta": "사이토가 통제 없이 적진 핵심에 고립됨",
"state_after": "적진 한가운데서 탈출 수단 없이 포위될 위기",
"opened_options": [
"창고 내 자원 약탈",
"에테르 스킬 탈출 시도"
],
"closed_options": [
"일반 경로를 통한 안전한 이동",
"적대 세력과의 비충돌 유지"
],
"evidence_refs": [
"sha256:12e4e25e3e87d497b65ec925c6a22c233bf87ea552ffd1c00472ce42145860ad"
]
},
{
"step_id": "s2",
"event": "사이토가 보물창고에서 금화와 핵심 장비를 약탈하고 에테르 스킬로 탈출하나, 길드마스터 침실에 떨어져 정체가 노출된다",
"owner": "character",
"state_before": "적진에 고립되어 탈출이 시급한 상태",
"action": "자원 약탈 후 이계의 후드 에테르 스킬(벽 통과) 발동",
"state_delta": "적 길드의 핵심 자원·장비 손실 + 사이토의 얼굴·정체가 길드마스터에게 직접 노출",
"state_after": "탈출에는 성공했으나, 적 길드 전체가 사이토 사냥에 돌입하는 전면전 상태로 전환",
"opened_options": [
"위장·은신을 통한 신분 보호",
"외부 세력과의 연합"
],
"closed_options": [
"약탈 자원의 자유로운 사용",
"정체를 숨긴 채 정상적 활동"
],
"evidence_refs": [
"sha256:12e4e25e3e87d497b65ec925c6a22c233bf87ea552ffd1c00472ce42145860ad"
]
},
{
"step_id": "s3",
"event": "피해를 입은 거대 길드가 사이토에 대한 5만 골드 현상금 암살 계약을 성사시킨다",
"owner": "character",
"state_before": "사이토의 정체가 노출되어 길드 차원의 추격이 시작된 상태",
"action": "고위 킬러에게 5만 골드 암살 의뢰 발주",
"state_delta": "사이토의 목에 고가 현상금이 걸리고, 사이토가 모르는 사이에 예측 불가능한 암살자가 추적 개시",
"state_after": "추격을 인지하지 못한 채 일상적 활동을 지속하는 사이토 등 뒤에 치명적 위협이 상시 존재",
"opened_options": [
"암살자와의 우연한 조우",
"정체 재은신을 위한 가명 사용"
],
"closed_options": [
"무방비 단독 행동의 안전성",
"현상금 없는 자유로운 거래"
],
"evidence_refs": [
"sha256:12e4e25e3e87d497b65ec925c6a22c233bf87ea552ffd1c00472ce42145860ad"
]
},
{
"step_id": "s4",
"event": "사이토가 도둑 클래스 최상위로 승급하고, 마스터 대장장이 기술로 신규 무기 쌍단검을 제작하여 전투력을 결집한다",
"owner": "character",
"state_before": "추격과 암살 위협에 시달리나 전투력이 부족하여 대응이 제한적인 상태",
"action": "9계급 승급 + 오리하르콘·아다만타이트 재료로 헬리오스·셀레네 제작",
"state_delta": "전투 스탯이 정상화되고 신무기 체계가 실전에서 압도적 효율 입증",
"state_after": "거대 길드의 추격을 상회하는 개인 전투력을 확보하여 위협에 능동 대응 가능",
"opened_options": [
"추격 세력에 대한 역공",
"최강자 명성을 활용한 세력 편입"
],
"closed_options": [
"은신·도피 일변도의 생존 전략",
"생산 스킬만으로 버티는 수동적 방어"
],
"evidence_refs": [
"sha256:12e4e25e3e87d497b65ec925c6a22c233bf87ea552ffd1c00472ce42145860ad"
]
}
],
"links": [
{
"from_step_id": "s1",
"to_step_id": "s2",
"kind": "required_cause",
"why_next": "강제 전이로 적진에 던져진 사이토에게 탈출은 생존의 필수 조건이며, 탈출 과정에서 약탈과 정체 노출이 동시에 발생하여 적대를 최고조로 끌어올린다",
"remove_test": "강제 전이가 없으면 사이토는 적진에 진입할 이유 자체가 없어 약탈·정체 노출·전면전 전환이 모두 발생하지 않는다",
"verification": "inferred"
},
{
"from_step_id": "s2",
"to_step_id": "s3",
"kind": "required_cause",
"why_next": "정체 노출과 핵심 장비 탈취라는 직접적 모욕·피해가 길드의 공식적 보복(현상금)을 정당화하는 원인이 된다",
"remove_test": "정체 노출이 없으면 길드는 표적을 특정할 수 없어 현상금 계약 자체가 성립하지 않는다",
"verification": "inferred"
},
{
"from_step_id": "s3",
"to_step_id": "s4",
"kind": "required_cause",
"why_next": "추격과 암살이라는 지속적 생존 위협이 사이토에게 전투력 강화(승급·무기 제작) 없이는 생존할 수 없다는 압력을 가한다",
"remove_test": "현상금 암살 위협이 없으면 사이토가 위험 지역에서의 승급과 희귀 재료 소모를 감수하며 전투력을 결집할 긴박한 동기가 사라진다",
"verification": "inferred"
}
],
"open_pressures": [
"사이토의 과거를 아는 암살자의 정체와 목적이 미해결 상태",
"현실 세계에서 게임사가 살인 사건 데이터 조작 정황을 포착하고 수사를 좁혀오는 위협",
"가이아(AI)의 통제 불가능한 감정이 시스템 권한과 결합되어 발생하는 윤리적·물리적 위협"
],
"knowledge_state": {
"truth": [
"운영자가 사적 감정으로 게이트스톤을 사용해 사이토를 강제 전이시켰다",
"사이토가 약탈한 장비는 적 길드마스터의 핵심 장비였다",
"사이토의 정체(얼굴)가 길드마스터에게 직접 확인되었다",
"거대 길드가 5만 골드로 암살 계약을 체결했다",
"사이토는 도둑 최상위 클래스로 승급하고 마스터 대장장이 기술로 신무기를 제작했다"
],
"beliefs": [
"사이토 본인: 자신의 전투력이 신무기와 승급으로 충분히 위협을 상회할 수 있다고 믿음",
"거대 길드: 사이토를 고위 도둑 클래스로 과대평가하여 공포감을 느낌 (트랩 마스터 트랩 탐지 난이도 과대평가)",
"암살자: 사이토의 과거를 아는 인물이며, 예전에는 이런 무기가 없었다고 판단함"
],
"audience_knowledge": [
"운영자의 권한 남용이 사이토 위기의 근원적 원인임을 독자는 알지만, 사이토는 모른다",
"암살자가 사이토의 뒤를 쫓고 있으나, 사이토는 이 사실을 인지하지 못한다",
"현실 세계에서 게임사가 살인 사건 데이터 조작을 포착하고 있으며, 수사가 사이토를 향해 좁혀오고 있다"
]
},
"rhythm": [
"pressure",
"choice",
"cost"
],
"evidence_refs": [
"sha256:12e4e25e3e87d497b65ec925c6a22c233bf87ea552ffd1c00472ce42145860ad"
]
}
],
"pressure_rules": [
{
"rule_id": "pr-12e4e25e",
"summary": "권한 남용에 의한 강제 위험 노출이 자원 탈취와 정체 노출을 낳고, 이것이 조직적 보복을 촉발하며, 피추격자는 전투력 결집으로 대응하는 연쇄 법칙",
"source_trace_ids": [
"trace-1"
],
"when": "권한 보유자가 사적 감정으로 타인을 통제 불가능한 위험에 강제로 노출시킬 때",
"incoming_pressure": "외부에 의한 강제적 생존 위협 (정체·자원·목표가 적에게 노출됨)",
"required_capabilities": [],
"protected_promise": "계정 승계자의 생존과 자유로운 활동 보장",
"responses": [
{
"response": "위험을 기회로 전환 — 적진에서 자원을 약탈하고 탈출",
"decision_owner": "피해자 본인",
"cost": "정체 노출로 인한 추격 전면화",
"cost_bearer": "피해자 본인",
"state_delta": "단기 자원 획득 ↔ 장기 적대 관계 형성",
"next_pressure": "거대 조직의 공식적 보복(현상금·암살 계약)"
},
{
"response": "전투력 결집 — 위험 감수 승급과 희귀 재료 소모를 통한 신무기 제작",
"decision_owner": "피해자 본인",
"cost": "희귀 자원 소모와 위험 지역 진입에 따른 추가 위험 노출",
"cost_bearer": "피해자 본인",
"state_delta": "은신·도피 전략 포기 ↔ 능동적 역공 전투력 확보",
"next_pressure": "최강자 명성으로 인한 끊임없는 도전과 현실 수사망의 압축"
}
],
"invariants": [],
"variation_bounds": [],
"knowledge_effects": [],
"rhythm_roles": [
"pressure",
"choice",
"cost"
],
"verification": "cross_source_supported",
"evidence_refs": [
"sha256:12e4e25e3e87d497b65ec925c6a22c233bf87ea552ffd1c00472ce42145860ad"
]
}
],
"claims": [],
"fragments": [
{
"fragment_id": "frag-01-05-65346467f4e7-com",
"summary": "component_candidate_refs 설명문 (output ref에서 제거, fragment로 보존)",
"why_useful": "유산을 물려받은 상실자 — 죽은 자의 발자국을 따라가는 자; 현실의 닻 — 떠내려가는 자를 붙잡아주는 친우",
"evidence_refs": [
"sha256:12e4e25e3e87d497b65ec925c6a22c233bf87ea552ffd1c00472ce42145860ad"
],
"next_step": "실제 component가 생성되면 ref로 연결"
},
{
"fragment_id": "frag-01-05-65346467f4e7-rec",
"summary": "recipe_candidate_refs 설명문 (output ref에서 제거, fragment로 보존)",
"why_useful": "권한 남용에 의한 강제 위험 노출이 자원 탈취와 정체 노출을 낳고, 이것이 조직적 보복을 촉발하며, 피추격자는 전투력 결집으로 대응하는 연쇄 법칙",
"evidence_refs": [
"sha256:12e4e25e3e87d497b65ec925c6a22c233bf87ea552ffd1c00472ce42145860ad"
],
"next_step": "실제 component가 생성되면 ref로 연결"
}
]
},
"discoveries": [],
"outputs": {
"parsed_asset_refs": [],
"component_candidate_refs": [],
"recipe_candidate_refs": []
},
"disposition": {
"status": "candidate_ready",
"reason": "전체 읽기 추출 (continuous_source). 인과 연쇄 1개, 압력 법칙 1개. verification=cross_source_supported.",
"retry_condition": null,
"rejection_authority": null
},
"counts": {
"files": 0,
"situations": 2,
"source_traces": 1,
"pressure_rules": 1,
"claims": 0,
"fragments": 2,
"discoveries": 0,
"parsed_assets": 0,
"component_candidates": 0,
"recipe_candidates": 0
}
}