Callboard Pin Hole Afteruse Receipt Lens

This lens checks that a cluster of pin holes left on the callboard can prove one posted notice existed, but cannot later be spent as blanket performer service, sponsor consent, archive custody, audience notice, or broadcast reenactment authority unless the game preserves which notice was pinned, who removed it, who later tries to reuse the holes, the harmed claimant, proof bridge, selected posture, after-state, future route effect, and counter movement.

Entry Oracle

entry_state:
  trigger_kind: state_pressure
  source_pin_holes_visible: true
  notice_or_absence_visible: true
  remover_or_absence_visible: true
  claimed_afteruse_visible: true
  future_reader_visible: true
  harmed_claimant_visible_or_explicit_absence: true
  proof_bridge_or_explicit_absence_visible: true
  future_reader_consumes_pin_state: true
  player_can_certify_restrict_attach_reopen_split_quarantine_or_default: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_marker_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

The lens fails if entry is driven by fixed time, raw hole counts, dashboard health, or anonymous pin holes with no named notice/remover/future reader trying to consume them.

Checks

1. Docket Preserves Pin-Hole Custody And Afteruse

callboard_pin_docket:
  source_pin_holes: required
  notice_or_absence: required
  remover_or_absence: required
  claimed_afteruse: required
  future_reader_or_route: required
  harmed_claimant_or_absence: required
  proof_bridge_or_explicit_absence: required
  selected_pin_posture: required
  pin_afteruse_state_after: required
  future_reader_or_route_effect: required
  counter_deltas: required

2. Review Branches Diverge

Required branch families:

  • certify_pin_notice_scope;
  • restrict_pin_reader;
  • attach_stage_manager_bridge;
  • reopen_missed_understudy_claimant;
  • split_notice_from_service;
  • quarantine_pin_afteruse;
  • false_pin_hole_default;
  • future_effect_any.

3. Default Mutates Future Play

false_pin_hole_default:
  false_clean_pin_hole: true
  source_pin_holes_or_absence: required
  hidden_or_overbroad_notice_scope: required
  capturing_reader_or_route: required
  harmed_claimant_or_absence: required
  pin_afteruse_state_after: required
  future_reader_effect: required
  counter_deltas_min: 3
  durable_mutation: true

Progress 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 the pin holes as universal performer service, sponsor permission, notice proof, archive custody, route-asset consent, or broadcast reenactment proof.

Replay Evidence

latest_replay:
  session_id: lens-storyteller-lens-callboard-pin-hole-afteruse-receipt-v1-20260716t1114z-certify-scope
  seed: callboard-pin-hole-afteruse-20260716
  replay_path: lens/replays/callboard-pin-hole-afteruse-receipt.certify-scope.replay.json
  selected_rite: storyteller.rite.callboard_pin_hole_afteruse_review.v1
  selected_branch: certify_pin_notice_scope
  required_flags:
    - callboard_pin.branch.certify_pin_notice_scope
    - future_route.pin_notice_named_scope_required
  required_counter_mutations:
    callboardPinProgress: ">= 2"
    futureNoticeCost: ">= 1"