승격 대기 — 매트릭스 정본 후보
{
"contract": "matrix-component-v1",
"component_id": "module.risu.174193016.heroine-record-sim-engine",
"component_version": "1.0.0",
"component_type": "module",
"provenance": {
"review_status": "candidate",
"runtime_status": "inactive",
"availability_verdict": "untested",
"source_refs": [
{
"source_id": "risu:174193016",
"source_version": "risum",
"sha256": "sha256:5bbf74499ff2e0f71506226256cdd69599d6869c2426ccd43f8b38a746c2f5c5"
}
],
"source_kind": "risu_attachment",
"static_analysis_only": true,
"active_code_policy": "static_preserve_no_execute",
"fixture_kind": "parsed_risu_projection",
"publishable": false
},
"capabilities": {
"provides": [
"sim.display_request_engine",
"sim.route_branching",
"sim.choice_generation",
"sim.status_window"
],
"requires": [
"hook.edit_display",
"hook.edit_process",
"global_state_kv"
],
"conflicts": []
},
"payload": {
"namespace": "risu.module",
"controller": "user",
"triggers": [
"모듈 로드 시 전역 상태와 이벤트 로직을 초기화한다."
],
"state_effects": {
"display_request_pairs": "각 시스템 요소를 화면 표시(Display)와 처리 요청(Request) 쌍으로 관리",
"game_state": "날짜·히로인 정보·흥분도·임신·지속 효과·이벤트 요약",
"route_branches": "선택지에 따라 분기하는 H씬·이벤트·운명 루트"
},
"activation_rules": [
"모든 시스템 요소는 Display(사용자 가시)와 Request(처리기 전달) 쌍으로 작동한다.",
"선택지는 로어북 규칙에 따라 자동 생성되고, 선택 결과가 다음 상태로 반영된다."
],
"invariants": [
"Display 없이 Request만, 또는 Request 없이 Display만 단독으로 동작하지 않는다.",
"시스템 로그는 모든 상태 변화를 기록한다."
],
"boundaries": [
"활성 코드 본문(Lua/CJS/정규식 패턴)은 포함하지 않는다 — 정적 구조/원리/역할만 기술.",
"실행·sandbox 재현·승격은 사람 승인 전까지 금지.",
"candidate 상한: 검토 전 runtime catalog 공급 없음."
],
"idea_layers": {
"evidence": {
"source_post": "174193016",
"source_format": "risum",
"lead_id": "risu.deep.risum.174193016",
"analysis_mode": "static_projection_read",
"code_executed": false
},
"situation": {
"concrete_scene": "상태창에 날짜와 흥분도가 표시되고, 선택지 버튼이 나타나며, 하나를 고르면 상태가 변하고 다음 장면의 선택지가 새로 만들어진다 — 모든 단계가 기록된다.",
"emotion_evoked": "주도감 — 내 선택이 캐릭터의 상태와 루트를 실시간으로 바꾼다.",
"why_memorable": "Display/Request 쌍이라는 균일한 패턴으로 수십 개의 게임 시스템을 일관되게 관리한다.",
"transferable_lesson": "복잡한 게임 상태는 표시와 처리를 짝지는 규칙 하나로 정돈할 수 있다."
},
"core": {
"core_idea": "모든 게임 요소를 Display/Request 쌍으로 관리하는 선택지 기반 시뮬레이션 엔진.",
"behavioral_cause": "정규식 쌍이 화면 표시와 처리기를 동시에 구동하고 로어북이 규칙을 정의한다.",
"invariant_conflict": "선형 진행(통제)과 루트 분기(자유도)의 조율.",
"core_drive": "선택지 생성 규칙이 상태 변화와 분기를 몰아간다.",
"core_dilemma": "선택지가 많으면 자유롭지만 일관성이 무너지고, 적으면 깔끔하지만 선택의 의미가 줄어든다."
},
"swappable_parts": {
"dr_pairs": "Display/Request 정규식 쌍",
"rule_lorebooks": "진행·흥분·임신·선택지 규칙 로어북",
"route_table": "H씬·이벤트·운명 루트 분기표"
},
"lineage": {
"promotion_status": "candidate",
"origin": "risu_deep_dive_lead",
"reverse_translation": "module.risum -> matrix-component-v1(module)"
}
}
},
"projection": {
"title": "히로인 레코드 시뮬레이션 — Display/Request 쌍 엔진·루트 분기",
"prompt": "히로인 중심의 성인 시뮬레이션 게임 엔진 모듈. 60개 이상의 정규식으로 시스템 메시지·상태창·선택지·이벤트·H씬 진행·루트 분기·로그를 Display/Request 쌍으로 관리한다. 20개 이상의 로어북이 진행 규칙·흥분 체크·임산·지속 효과·선택지 생성 규칙을 정의한다. 실행 코드는 포함하지 않고 원리만 기술한다.",
"prompt_sha256": "sha256:fd08b6cf475e93cbdc7ad12bda9a70f5abaf676539636599ebe66b37155ae2e3",
"summary": "60개 정규식과 20개 로어북으로 선택지·상태·루트를 관리하는 성인 시뮬레이션 엔진 모듈.",
"tags": [
"simulation",
"display-request",
"route-branching",
"choice-system",
"game-engine"
],
"flagship": false,
"core": false,
"content_labels": [
"risu-module",
"static-analysis"
],
"harness_compatibility": "display_only",
"replay_status": "not_run"
}
}