승격 대기 — 매트릭스 정본 후보
{
"contract": "matrix-component-v1",
"component_id": "module.risu.171760844.fame-infamy-status-window",
"component_version": "1.0.0",
"component_type": "module",
"provenance": {
"review_status": "candidate",
"runtime_status": "inactive",
"availability_verdict": "untested",
"source_refs": [
{
"source_id": "risu:171760844",
"source_version": "risum",
"sha256": "sha256:d80c4586cc8e8d119396d0ac64c980ecea5fb892b1cae7ed2e55919d1ca21441"
}
],
"source_kind": "risu_attachment",
"static_analysis_only": true,
"active_code_policy": "static_preserve_no_execute",
"fixture_kind": "parsed_risu_projection",
"publishable": false
},
"capabilities": {
"provides": [
"status.fame_infamy",
"status.alias_autoname",
"status.single_tag_render"
],
"requires": [
"hook.start",
"hook.edit_display",
"global_state_kv"
],
"conflicts": []
},
"payload": {
"namespace": "risu.module",
"controller": "user",
"triggers": [
"start 시점에 명성/악명 변수를 초기화하고 상태창 렌더링을 등록한다."
],
"state_effects": {
"fame": "Lua 전역 변수로 관리되는 명성 수치",
"infamy": "Lua 전역 변수로 관리되는 악명 수치",
"alias": "명성/악명 수준에 따라 자동 부여되는 별칭"
},
"activation_rules": [
"명성과 악명만 Lua가 직접 관리하고, 나머지 상태는 AI가 단일 태그로 매 턴 출력한다.",
"editDisplay로 상태창을 렌더링해 토큰 소비를 줄인다."
],
"invariants": [
"Lua가 관리하는 변수는 명성·악명 두 개뿐이다.",
"AI는 상태를 단일 태그로 출력하고, 개별 필드를 자의적으로 변경하지 않는다."
],
"boundaries": [
"활성 코드 본문(Lua/CJS/정규식 패턴)은 포함하지 않는다 — 정적 구조/원리/역할만 기술.",
"실행·sandbox 재현·승격은 사람 승인 전까지 금지.",
"candidate 상한: 검토 전 runtime catalog 공급 없음."
],
"idea_layers": {
"evidence": {
"source_post": "171760844",
"source_format": "risum",
"lead_id": "risu.deep.risum.171760844",
"analysis_mode": "static_projection_read",
"code_executed": false
},
"situation": {
"concrete_scene": "호랑이를 잡으면 명성이 오르고, 악행을 저지르면 악명이 오르며, 어느 순간 세상이 그를 '혈검'이라 부르기 시작한다 — 상태창 한구석에 별칭이 저절로 바뀐다.",
"emotion_evoked": "성장의 희열 — 행적이 수치로 쌓이고 이름이 바뀌는 보상감.",
"why_memorable": "두 변수만 Lua가 관리하고 나머지는 AI에게 단일 태그로 맡겨 토큰을 극적으로 줄인 설계.",
"transferable_lesson": "상태 관리를 최소 변수로 쪼개고 위임하면 토큰과 일관성을 동시에 잡는다."
},
"core": {
"core_idea": "핵심 수치 두 개만 Lua가 관리하고 나머지는 AI 단일 태그로 위임하는 무협 상태창.",
"behavioral_cause": "start에서 변수를 초기화하고 editDisplay로 상태창을 렌더링한다.",
"invariant_conflict": "정밀한 상태 통제(Lua 변수)와 자유로운 서술(AI 위임)의 분업.",
"core_drive": "두 변수의 임계치가 별칭을 발동한다.",
"core_dilemma": "변수를 늘리면 정밀해지지만 토큰이 늘어나고, 줄이면 가벼워지지만 서사 통제가 약해진다."
},
"swappable_parts": {
"tracked_vars": "명성·악명 두 변수",
"alias_table": "수준별 별칭 매핑",
"render_hook": "editDisplay 렌더링"
},
"lineage": {
"promotion_status": "candidate",
"origin": "risu_deep_dive_lead",
"reverse_translation": "module.risum -> matrix-component-v1(module)"
}
}
},
"projection": {
"title": "무협 명성/악명 상태창 — 최소 변수·단일 태그 토큰 절약",
"prompt": "명성과 악명 두 수치만 Lua 전역 변수로 관리하고, 나머지 상태는 AI가 단일 태그로 매 턴 출력하게 하는 무협 상태창 모듈. editDisplay 중심으로 토큰을 절약하며, 명성/악명 수준에 따라 별칭이 자동 부여된다. 실행 코드는 포함하지 않고 원리만 기술한다.",
"prompt_sha256": "sha256:141ed5f7a56847032cd8ad2b97cfcdfe17499e8b583a09c75b8ca757ead85ab0",
"summary": "명성·악명 두 수치만 Lua로 관리하고 나머지는 단일 태그로 위임하는 토큰 절약형 상태창.",
"tags": [
"status-window",
"fame",
"infamy",
"wuxia",
"token-saving"
],
"flagship": false,
"core": false,
"content_labels": [
"risu-module",
"static-analysis"
],
"harness_compatibility": "display_only",
"replay_status": "not_run"
}
}