Mara Fen Custody Branch Lens / Mara Fen 保管分岔 Lens
This lens observes whether Mara Fen 保管压力线 and Mara Fen 保管压力机制 correctly make Mara Fen a playable character-state surface.
A passing implementation proves that Mara is not exposition-only and not a free permission flag for Iris voice custody. She must be mechanically recruitable, protectable, suppressible, exposeable, maskable, missable, and defaultable into hostile witness or explicit absence with visible counter movement.
Primary observation link
This lens observes:
- Mara Fen;
- Mara Fen 保管压力线;
- Mara Fen 保管压力机制;
- Archive Voice Custody;
- Iris Vale;
- Iris Vale 纪念声权验讫线;
- Iris Vale 验讫后用引证线;
- Iris Vale 保管人反诉线.
It is observed through:
Observable promise
When an Iris voice custody row needs Mara’s answer, the game must expose the source row, Mara state or explicit absence, support need or explicit absence, answer posture, future reader, accepted cost, and future reader effect.
The lens fails if Mara is represented only as present, ok, permission, witness_seen, or archive_key without branch cost.
State-triggered entry oracle
A valid replay or state inspection must show:
entry_state:
trigger_kind: state_pressure
source_iris_voice_row_present: true
source_voice_row_scope_visible: true
requested_use_or_breach_present: true
mara_named_as_custodian_or_explicit_absence: true
future_reader_or_route_asset_present: true
support_need_or_absence_visible: true
player_can_assign_protect_suppress_recruit_or_default: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_count_trigger: trueThe lens must fail if entry is driven by a fixed turn count, day/week interval, chapter quota, raw content count, or generic production trouble without a source voice row and future reader.
Required observable content
Custody branch docket
Mara Fen 保管分岔案卷 or equivalent must record:
- source Iris voice row id;
- requested use;
- Mara state before or explicit absence;
- custody chain evidence or explicit absence;
- support need or explicit absence;
- answer posture;
- future reader;
- accepted cost or explicit absence;
- future reader effect.
Custody interview rite
Mara Fen 保管面谈 or equivalent must expose at least six branch families:
- protect custodian;
- recruit chain keeper;
- public chain witness;
- private affidavit;
- suppress for sponsor;
- editor masked answer;
- record absence or default.
Hostile witness default
Mara Fen 敌对证人默认 or equivalent must fire or arm when:
- Mara state is hidden;
- chain proof is missing and not recorded as absence;
- support need is ignored;
- sponsor suppression is filed as clean consent;
- public witness is filed as lawful chain without bridge;
- private affidavit is filed as public truth;
- editor mask is filed as raw proof;
- future reader consumes Mara’s answer with no branch effect.
The default must change future play.
Branch divergence oracle
| Branch family | Required relief | Required cost | Required future reader effect |
|---|---|---|---|
| Protect custodian | custody clarity, archive legitimacy, or voice integrity improves | payroll, escort, inspection heat, or witness exposure rises | accepted with custodian cost |
| Recruit chain keeper | future chain reliability or route asset stability improves | handler burden, sponsor pressure, or support duty rises | future rows can use Mara only if support is paid |
| Public chain witness | public receipt or anti-capture improves | reprisal, sponsor heat, or public contradiction rises | public-only until lawful bridge |
| Private affidavit | lawful admissibility or legal-body risk improves | public distrust, bureau debt, or fan resentment rises | lawful-only or public addendum required |
| Sponsor suppression | sponsor or slot pressure improves | contract capture, Mara hostility, or false-owner risk rises | sponsor-only, unwind-required, or default armed |
| Editor mask | source safety, continuity, or checksum clarity improves | edit debt, source ambiguity, or public blockage rises | checksum required |
| Absence/default | no clean relief required | archive debt, hostile witness, or recovery scar rises | blocked, hostile, captured, or recovery-only |
No branch may create universal permission across archive, sponsor, public, editor, route asset, and broadcast-reality readers.
Oracle assertions
- Primary links exist —
observesandobserved_througharrays contain concrete wiki pages. - Entry is state-triggered — source voice row and future reader pressure, not fixed timing, open the surface.
- Mara state is visible — state before and after are recorded, or explicit absence is recorded.
- Support need is visible — protection, payroll, escort, mask, release, shelter, or explicit absence is present.
- Branches diverge — protect, recruit, public, private, suppress, mask, and default branches produce different effects.
- Successful branches have relief and cost — no clean permission branch exists.
- Recruitment is not universal permission — recruited Mara remains a cost-bearing route asset.
- Sponsor suppression is not consent — it leaves capture, release scar, hostility, or future repair cost.
- Public witness is not lawful proof without bridge — public-only and lawful-only readers can diverge.
- Editor mask is not raw proof — checksum or mask creates ambiguity and future requirement.
- Default is durable — hidden or unsupported Mara changes future reader or route state.
- No fixed trigger — implementation does not depend on turn count, day/week interval, chapter quota, or raw content count.
Progress metric
maraFenCustodyBranchProgress = 0..10:
0: no source Iris voice row.1: source Iris voice row exists and is scoped.2: requested use or breach is visible.3: Mara id or explicit absence is visible.4: Mara state before and support need or absence are visible.5: Mara Fen Custody Branch Docket enters play.6: Mara Fen Custody Interview exposes answer posture and accepted cost.7: at least four non-default branch families are available from valid state.8: at least six branch families, including default, produce different relief/cost/future effects.9: Mara Fen Hostile Witness Default creates durable hostile, captured, blocked, or recovery-only scar.10: a downstream reader consumes the resulting Mara state and changes route, reader, custody, sponsor, public, edit, or broadcast state.
Evidence shape
lens_id: lens.storyteller.character.mara_fen_custody_branch.v1
session_id: lens-mara-fen-custody-branch-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
trigger_kind: state_pressure
source_iris_voice_row_present: true
source_voice_row_scope_visible: true
mara_named_as_custodian_or_explicit_absence: true
future_reader_or_route_asset_present: true
no_fixed_turn_trigger: true
offered:
card: storyteller.card.mara_fen_custody_branch_docket.v1
rite: storyteller.rite.mara_fen_custody_interview.v1
branch_runs:
successful_branch:
selected_branch: protect_custodian | recruit_chain_keeper | public_chain_witness | private_affidavit | suppress_for_sponsor | editor_masked_answer
source_voice_row_id: <stable id>
mara_state_before: <state>
support_need_or_absence: <support or explicit_absence>
future_reader: <reader>
accepted_cost_or_absence: <cost or explicit_absence>
mara_state_after: <state>
source_voice_row_state_after: <state>
future_reader_effect: <effect>
counter_deltas:
relief: []
cost: []
future: []
default_branch:
event_seen_or_armed: storyteller.event.mara_fen_hostile_witness_default.v1
missing_or_misfiled_surface: <surface>
harmed_state_after: <state>
future_reader_effect: blocked | costlier | lawful_only | public_only | sponsor_only | checksum_required | payroll_required | hostile | recovery_only
assertions:
- primary_links_exist
- entry_is_state_triggered
- source_voice_row_visible
- mara_state_visible_or_explicit_absence
- support_need_visible_or_explicit_absence
- branches_diverge
- no_universal_permission
- default_is_durable
- no_fixed_turn_triggerNon-goals
- Not a governance checklist.
- Not raw count expansion.
- Not a generic affection or loyalty scene.
- Not a fixed-timing encounter.
- Not valid if Mara’s answer has no future reader effect.