Courtesy Credit Reversal Lens

This lens observes whether a clean courtesy credit can be reversed or scoped before a future route spends it as settled reality.

Entry Oracle

entry_state:
  trigger_kind: state_pressure
  source_courtesy_row_present: true
  credited_actor_visible: true
  clean_credit_claim_visible: true
  proof_carrier_or_absence_visible: true
  omitted_reader_visible: true
  requested_future_route_visible: true
  future_reader_consumes_courtesy_state: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_credit_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

The lens fails if the entry is a timer, a raw credit-count threshold, a dashboard warning, or a generic lens-health alarm.

Bound Packet

Checks

1. Credit and proof are separate

The docket must name the source courtesy row, credited actor, clean claim, proof carrier/absence, omitted reader, accepted cost/absence, after-state, and future effect.

2. Branches diverge

The rite must expose reversal, escrow, split, route-debt, quarantine, scoped-scar, default, and future-effect branch families.

3. Default mutates future play

The default event must record a false-clean credit claim, hidden proof, credited actor, omitted reader, future effect, at least three counter deltas, and durable mutation.

4. Durable replay evidence

A lens-scoped durable session must export lens/replays/courtesy-credit-reversal.replay.json and select reverse_credit_and_serve_proof on storyteller.rite.courtesy_credit_reversal_hearing.v1.