Narration Priority Stack Lens / 叙述优先栈 Lens
This lens observes whether 叙述优先栈线 and 叙述优先栈机制 correctly handle conflicts where multiple armed claimants can make the same version real by narrating first.
The lens exists because the current mesh can already create default narrators, leak/preemption actors, dormant breach narrators, counter-broadcast carriers, correction defaults, cutroom defaults, and route-asset claimants. A satisfying implementation must prove that these voices collide over a shared target version instead of firing as isolated flavor.
Primary observation link
This lens observes:
- 叙述优先栈线;
- 叙述优先栈机制;
- 播出破产账本线;
- 认领告知顺序线;
- 休眠认领复燃线;
- Counter-Broadcast Custody Fork Storyline;
- Route Assets and Custody.
It is observed through:
Observable promise
A passing replay must show that at least two active narration claims target the same version, that each claim has a claimant and priority basis, that proof/channel or explicit absence is named, that excluded claimants are visible, and that the player’s resolution changes both current pressure and future route state.
The lens must fail if a default narrator, leak, injunction, countercopy, source release, public receipt, refusal, archive seal, or blackout fold becomes reality without shared-target priority state.
Entry oracle
Valid entry is state-driven:
entry_state:
active_narration_claims_min: 2
target_version_shared: true
at_least_one_claim_can_preempt: true
excluded_claimant_can_retaliate: true
proof_or_channel_or_absence_visible: true
future_route_effect_possible: true
no_fixed_turn_trigger: trueThe lens fails if the surface opens from a fixed turn number, day interval, chapter quota, content-count target, generic upkeep phase, or lens-health state.
Required data surfaces
Stack card
叙述优先栈 or equivalent must expose each row with:
- source surface;
- target version;
- claimant;
- narration right;
- priority basis;
- proof anchor or explicit absence;
- channel or explicit absence;
- excluded claimants;
- claim state;
- whether the claim wins if ignored;
- future route effect.
The lens fails if the card only stores a winning narrator or numeric priority without source, target version, priority basis, proof/channel, excluded claimant, and future route effect.
Hearing rite
叙述优先听证 or equivalent must require:
- target version;
- competing claims;
- selected claim or explicit no-voice branch;
- countered claims;
- excluded claimants;
- proof anchor or absence;
- channel or absence;
- priority basis;
- accepted finite cost;
- resulting future route effect.
The lens fails if the player can seat every claimant safely, if proof/channel absence is hidden, or if no claimant is harmed by the selected priority.
Capture event
敌性叙述夺取 or equivalent must fire or become default-ready when a claim wins because the player omitted priority resolution, hid excluded claimants, lacked proof/channel, broke split terms, refused cost, or let preemption expire uncontested.
The event must mutate later route access or version state.
Required claim states
A satisfying implementation must expose durable states equivalent to at least seven of:
claim_pendingclaim_seatedclaim_counteredclaim_splitclaim_escrowedclaim_preemptedclaim_hostileclaim_capturedclaim_blackout_foldclaim_recovery_only
Branch divergence oracle
At least four branch families must be playable and non-equivalent.
Branch A — Seat one narrator
Expected evidence:
selected_response: seat_one_narrator
selected_claim: <claim id>
excluded_claimants_min: 1
claim_state_after: claim_seated
relief_present: true
cost_present: true
future_route_effect_any: [protected, costlier, captured, public_only, lawful_only, recovery_only]Branch B — Counterclaim before first voice
Expected evidence:
selected_response: counterclaim
countered_claim: <claim id>
claim_state_after_any: [claim_countered, claim_preempted]
counterweight_any: [proof_anchor, caller, checksum, public_receipt, legal_seal, sponsor_escrow, handler, route_asset]
future_route_effect_any: [costlier, split_canon, appeal_required, public_audit_required]Branch C — Split narration window
Expected evidence:
selected_response: split_narration_window
voices_min: 2
terms_present: true
claim_state_after: claim_split
future_route_effect_any: [split_canon, contradiction_pending, public_audit_required, lawful_appeal_required]Branch D — Escrow proof and delay
Expected evidence:
selected_response: escrow_and_delay
claim_state_after: claim_escrowed
escrow_any: [proof_anchor, edit_checksum, legal_seal, public_receipt, sponsor_escrow, route_asset, blackout_warrant]
relief_any: [hostile_capture_delayed, false_owner_risk_down]
cost_any: [slot_pressure_up, insolvency_row_created, public_delay_up, inspection_heat_up]Branch E — Blackout fold
Expected evidence:
selected_response: blackout_fold
claim_state_after: claim_blackout_fold
relief_any: [false_clean_broadcast_blocked, source_proof_preserved]
cost_any: [black_screen_pressure_up, audience_stability_down, ending_scar_pressure_up]
future_route_effect_any: [recovery_only, blackout_pressure_up, contradiction_pending]Branch F — Hostile capture
Expected evidence:
selected_response: no_valid_resolution
event_seen: storyteller.event.hostile_narration_capture.v1
captured_version_state_any: [sponsor_captured, lawful_only, public_only, pirate_only, source_captured, false_owner, blackout_fold, split_canon, contradiction_pending, recovery_only]
claim_state_after_any: [claim_hostile, claim_captured, claim_recovery_only]
future_route_effect_any: [captured, blocked, hostile, public_only, lawful_only, recovery_only]Oracle assertions
A binding check should fail unless all assertions below are true.
- Primary links exist —
observesandobserved_througharrays point to concrete Storyteller pages. - Entry is state-driven — no turn-count, day-count, chapter-quota, content-count, or lens-health trigger.
- Shared target exists — at least two claims target the same version, proof object, route asset, correction row, public record, or lawful record.
- Competing claimants are visible — each claim names claimant and narration right.
- Priority basis is visible — first notice, unpaid creditor, proof custody, channel access, legal seal, fan receipt, route asset custody, blackout authority, or explicit absence is recorded.
- Proof/channel is named — proof anchor and channel exist or are explicitly absent.
- Excluded claimants are visible — at least one claimant is late, countered, blocked, or harmed by the selected priority.
- Branch outcomes diverge — seating, counterclaim, split window, escrow/delay, blackout fold, and hostile capture cannot collapse into one result.
- Hostile capture is durable — invalid or omitted resolution fires/defaults into a captured version state and future route effect.
- At least three deltas exist — every resolved branch mutates at least three counters or durable states, including relief and cost.
- Future route mutates — result changes later route availability, difficulty, claimant posture, proof custody, correction/cutroom access, ending eligibility, blackout pressure, or recovery-only state.
- No safe universal seating — the implementation does not allow every claimant to speak first safely or erase contradiction for free.
Progress metric
narrationPriorityStackProgress = 0..8:
0: no narration-priority state.1: at least two active claims enter 叙述优先栈.2: target version, claimant, narration right, and priority basis are visible for each claim.3: proof/channel or explicit absence and excluded claimants are visible.4: 叙述优先听证 or equivalent offers at least three resolution choices.5: selected branch mutates at least three counters/states with relief and cost.6: at least three branch families produce non-equivalent future route states.7: 敌性叙述夺取 or equivalent fires/defaults on omission, broken split, missing proof/channel, or preemption expiry.8: at least four branch families are proven with replay/session evidence, including one split or escrow branch and one hostile capture branch.
Evidence shape
lens_id: storyteller.lens.narration_priority_stack.v1
session_id: lens-narration-priority-stack-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
active_narration_claims:
- claim_id: <claim a>
source_surface: <surface>
target_version: <version>
claimant: <claimant>
narration_right: <right>
priority_basis: <basis>
proof_anchor_or_absence: <proof or explicit_absence>
channel_or_absence: <channel or explicit_absence>
- claim_id: <claim b>
source_surface: <surface>
target_version: <same version>
claimant: <claimant>
narration_right: <right>
priority_basis: <basis>
proof_anchor_or_absence: <proof or explicit_absence>
channel_or_absence: <channel or explicit_absence>
target_version_shared: true
no_fixed_turn_trigger: true
offered_choices:
- card.narration_priority_stack
- rite.narration_priority_hearing
- seat_one_narrator
- counterclaim
- split_narration_window
- escrow_and_delay
- blackout_fold
- no_valid_resolution
branch_runs:
seat_one_narrator:
selected_claim: <claim>
excluded_claimants: []
state_after: <state>
future_route_effect: <effect>
counter_deltas: {}
counterclaim:
countered_claim: <claim>
counterweight: <proof/channel/caller>
state_after: <state>
future_route_effect: <effect>
counter_deltas: {}
split_narration_window:
voices: []
terms: <terms>
state_after: claim_split
future_route_effect: split_canon
counter_deltas: {}
escrow_and_delay:
escrow: <object>
state_after: claim_escrowed
future_route_effect: <effect>
counter_deltas: {}
hostile_capture:
event: storyteller.event.hostile_narration_capture.v1
captured_version_state: <state>
future_route_effect: <effect>
counter_deltas: {}
assertions:
- primary_links_exist
- state_triggered_entry
- shared_target_version
- competing_claimants_visible
- priority_basis_visible
- proof_channel_or_absence_named
- excluded_claimants_visible
- branch_outcomes_diverge
- hostile_capture_durable
- future_route_effect_mutatesNon-goals
- Not a governance checklist.
- Not a dashboard-only evidence spec.
- Not a turn-count or day-count escalation.
- Not a generic initiative order.
- Not a debate minigame.
- Not a raw content-count expansion.
- Not a safe universal announcement system.
- Not satisfied by page existence; proof must come from shared-target claims, priority basis, assignable hearing choice, branch divergence, hostile capture/default, counter deltas, and future route mutation.