Program Note Margin Afteruse Receipt Lens
This lens checks that audience-authored marginalia on a lobby program cannot later be spent as clean audience endorsement, sponsor quote approval, archive custody release, or broadcast reenactment permission unless the game preserves the original program row, writer or explicit absence, seat/show context, cited annotation scope, requested afteruse, harmed claimant, proof bridge, selected posture, after-state, and future route effect.
Boundary: promptbook margin notes concern internal blocking and actor intent; lobby-poster quotes are printed promotional copy. This lane owns only handwritten audience reaction and attendance/quotation custody.
Entry Oracle
entry_state:
trigger_kind: state_pressure
source_margin_note_row_visible: true
writer_visible_or_explicit_absence: true
seat_and_show_context_visible: true
cited_annotation_scope_visible: true
requested_afteruse_visible: true
harmed_claimant_visible_or_explicit_absence: true
proof_bridge_or_explicit_absence_visible: true
future_reader_consumes_margin_state: true
player_can_certify_restrict_bridge_reopen_split_quarantine_or_default: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_program_count_trigger: true
no_dashboard_or_lens_health_trigger: trueThe lens fails if entry is driven by fixed time, raw program totals, dashboard health, or a margin note with no named future reader trying to consume it.
Checks
1. Docket Preserves Margin Note Custody And Afteruse
program_note_margin_docket:
source_margin_note_row: required
writer_or_absence: required
seat_and_show_context: required
cited_annotation_scope: required
requested_afteruse: required
future_reader_or_route: required
harmed_claimant_or_absence: required
proof_bridge_or_explicit_absence: required
selected_margin_posture: required
margin_afteruse_state_after: required
future_reader_or_route_effect: required
counter_deltas: required
universal_clean_margin_note: false2. Review Branches Diverge
Required branch families:
certify_margin_scope;restrict_margin_reader;attach_writer_bridge;reopen_harmed_performer_note_claim;split_annotation_from_consent_custody;quarantine_margin_afteruse;false_margin_default;future_effect_any.
Each branch must carry relief, cost, and future route effects rather than a generic clean approval.
3. Default Mutates Future Play
false_program_note_margin_default:
false_clean_margin_note: true
source_margin_note_row_or_absence: required
hidden_or_overbroad_annotation_scope: required
capturing_reader_or_route: required
harmed_claimant_or_absence: required
margin_afteruse_state_after: false_clean_default
future_reader_effect: recovery_only
counter_deltas_min: 3
durable_mutation: trueProgress Metric
Satisfied when the sibling TypeScript binding, focused card/rite/event content, and a lens-scoped durable replay show one selected branch changing named counters and future route state without treating a program note margin as universal consent.
Replay Evidence
latest_replay:
session_id: lens-storyteller-lens-program-note-margin-afteruse-receipt-v1-20260711t1852z-certify-scope
seed: program-note-margin-afteruse-20260712c
replay_path: lens/replays/program-note-margin-afteruse-receipt.certify-scope.replay.json
selected_rite: storyteller.rite.program_note_margin_afteruse_review.v1
selected_branch: certify_margin_scope
required_flags:
- margin_note.branch.certify_margin_scope
- future_route.margin_scope_required
required_counter_mutations:
marginNoteProgress: ">= 2"
futureRouteCost: ">= 1"