Receipt Packet Counterclaim

Why this gap is the next useful target

The reusable receipt-packet-counterclaim-procedure.lens already defines the oracle for state-triggered receipt disputes, and route-assets-and-custody now defines the shared custody state machine. The vault still lacked the concrete event surface that workers can bind when a receipt dispute actually opens.

This page supplies the missing event source for event.receipt_packet_counterclaim: the moment a missing stub, duplicate receipt, fan oxygen queue proof, black-box fragment, archive docket copy, or logistics carrier testimony becomes contested by at least two factions. It is intentionally small because the next useful target is replay bindability, not more lens volume.

Affected wiki/source addresses

Primary new surface:

  • wiki/content/events/storyteller/receipt-packet-counterclaim.md

Observed and constrained by:

  • wiki/content/lens/storyteller/receipt-packet-counterclaim-procedure.lens.md
  • wiki/content/systems/route-assets-and-custody.md
  • wiki/content/characters/storyteller/lin-qiao-chain-runner.md
  • wiki/content/storylines/characters/lin-qiao-chain-runner.md
  • wiki/content/events/storyteller/shadow-crew-custody-leak.md
  • wiki/content/cards/storyteller/inspection-shadow-crew-permit.md

Expected paired rite surface:

  • wiki/content/rites/storyteller/receipt-counterclaim-hearing.md

Trigger conditions

Open this event only when all conditions are true:

  1. one disputed proof exists: receipt packet, missing stub, fan oxygen queue receipt, archive docket copy, black-box fragment, memorial air receipt, voice custody receipt, or inspection handoff note;
  2. at least two factions can claim, deny, duplicate, or weaponize the proof;
  3. a carrier, witness, handler, or explicit absence state exists for the chain;
  4. at least one relevant counter is nonzero or marked unresolved: custody_gap, archive_debt, inspection_heat, sponsor_stop_loss_pressure, fan_oxygen_resentment, receipt_legitimacy, public_receipt_legitimacy, runner_risk, or false_custody_owner.

Do not trigger this as a numbered-turn milestone. A turn range may appear in replay evidence, but the event is state-triggered.

Concrete game hooks

Cards and route assets

  • 林乔 / 交接链跑腿 as card.lin_qiao_chain_runner, route_asset.lin_qiao_custody_runner, runner_missed, runner_hostile_witness, or explicit unavailable carrier.
  • Inspection Shadow Crew Permit as temporary lawful cover or sacrificial paper shield.
  • Current-hand handler: 韩砚霜, 郁蓝, 沈洛, 白鸦, 黎星瞳, or equivalent defender, publisher, negotiator, editor, or suppressor.
  • Contested proof object: missing receipt stub, fan oxygen queue receipt, archive docket copy, black-box fragment, sponsor duplicate, memorial air receipt, or voice custody receipt.

Rites and follow-ups

  • rite.receipt_counterclaim_hearing — opens the assignable management choice after this event.
  • rite.defend_chain_with_low_rank_runner — uses carrier plus handler to preserve legitimacy.
  • rite.publish_counter_receipt — exposes proof through fan, historian, editor, or broadcast route.
  • rite.settle_duplicate_receipt — quiet settlement that reduces immediate pressure but leaves debt.
  • rite.quarantine_false_custody_owner — recovery rite if failure hardens the wrong claimant.

Factions

At least two must be active claimants:

  • 归档署 / archive authority
  • 白手套监察 / inspector authority
  • 冠名方 / sponsor stop-loss desk
  • 粉丝氧气互助群 / fan oxygen public witness
  • 黑箱剪辑 authority / editor or AI custody
  • memorial or voice claimant
  • low-rank service corridor staff

Counters, tags, and costs

Counters:

  • receipt_legitimacy
  • public_receipt_legitimacy
  • custody_gap
  • archive_debt
  • inspection_heat
  • sponsor_stop_loss_pressure
  • fan_oxygen_resentment
  • runner_risk
  • false_custody_owner

Durable tags or states:

  • receipt_counterclaim_open
  • counterclaim_dismissed
  • receipt_publicly_split
  • runner_cross_examined
  • runner_protected_under_oath
  • runner_sacrificed
  • runner_hostile_witness
  • sponsor_duplicate_receipt
  • fan_stub_witnesses_mobilized
  • false_custody_owner_established

Costs must be visible through at least one of: money, petty cash, favor debt, payroll leak, runner risk, fan oxygen resentment, inspection heat, sponsor retaliation, public legitimacy risk, or a suppressed future rite.

Branches

Branch A — Defend the chain

The event opens because a faction challenges the receipt. The player assigns a low-rank carrier or route asset with a handler. The chain survives the first challenge.

Expected outcomes:

  • add runner_cross_examined or runner_protected_under_oath;
  • receipt_legitimacy +1 or public_receipt_legitimacy +1;
  • custody_gap -1 or archive_debt -1;
  • runner_risk +1, inspection_heat +1, favor_debt +1, or payroll_leak +1.

Branch B — Publish the counter-receipt

The player routes proof through fan oxygen witnesses, 郁蓝, 白鸦, or a public broadcast artifact. The duplicate claim is damaged, but the event becomes visible.

Expected outcomes:

  • add fan_stub_witnesses_mobilized or receipt_publicly_split;
  • public_receipt_legitimacy +1;
  • sponsor_stop_loss_pressure +1, inspection_heat +1, or fan_oxygen_resentment +1.

Branch C — Settle quietly

The player uses sponsor leverage, legal delay,沈洛-style negotiation, or archival ambiguity to avoid a public split.

Expected outcomes:

  • sponsor_stop_loss_pressure -1 or immediate inspection pressure pauses;
  • archive_debt +1, custody_gap +1, or public_receipt_legitimacy -1;
  • add a deferred-risk state such as sponsor_duplicate_receipt or receipt_counterclaim_open.

Branch D — Miss, suppress, or sacrifice

The player lacks a carrier, ignores the event, suppresses the fan stub, sacrifices the runner, or lets a wrong claimant harden.

Expected outcomes:

  • add runner_sacrificed, runner_hostile_witness, or false_custody_owner_established;
  • suppress or raise difficulty on a later custody rite;
  • custody_gap +1, archive_debt +1, inspection_heat +1, or false_custody_owner +1.

Oracle assertions

A sibling executable lens or event check should fail unless all claims below are true.

  1. State-triggered entry — The event opens from a contested proof state, not from a canonical turn number.
  2. Faction conflict — At least two claimant factions are present in the event state.
  3. Carrier state matters — 林乔 or an equivalent carrier changes available branches when recruited, route asset, missed, hostile, sacrificed, or unavailable.
  4. Assignable follow-up — The event offers or schedules an assignable rite such as rite.receipt_counterclaim_hearing or equivalent.
  5. Costed positive branch — A defended or published branch improves legitimacy or custody while raising or spending another resource.
  6. Compromise is partial — Quiet settlement cannot clear all custody, public legitimacy, fan oxygen, sponsor, archive, and inspection pressure at once.
  7. Failure is durable — Miss, suppression, sacrifice, hostile witness, or false owner changes future availability, difficulty, counters, or tags.
  8. Replay provenance required — Evidence must include seed/session id, offered choices, assigned cards, branch outcome, and state/counter deltas from game CLI history.

Progress metric

Progress is event bindability and branch coverage, not count volume.

  • 20%: event.receipt_packet_counterclaim can be emitted from a contested proof state.
  • 40%: event state records claimant factions, contested proof type, carrier state, and relevant counters.
  • 60%: defended or published branch schedules/resolves an assignable rite and produces costed positive deltas.
  • 80%: settlement or failure branch creates a durable penalty, deferred risk, or suppressed future option.
  • 100%: at least two divergent CLI replay branches prove the event with seed/session id, offered choices, assignments, outcomes, and counter deltas.

Replay/session evidence shape

event_id: storyteller.event.receipt_packet_counterclaim.v1
game_id: event.receipt_packet_counterclaim
lens_id: storyteller.receipt_packet_counterclaim_procedure.v1
session_id: lens-storyteller-receipt-packet-counterclaim-procedure-v1-<timestamp>
seed: <deterministic-seed>
turn_range: <provenance-only>
preconditions:
  disputed_proof: receipt_packet | missing_stub | fan_queue_receipt | archive_docket_copy | black_box_fragment | memorial_air_receipt | voice_custody_receipt
  claimant_factions:
    - archive_authority_or_equivalent
    - sponsor_or_inspector_or_fan_public_or_equivalent
  carrier_state: recruited | route_asset | missed | hostile | sacrificed | unavailable
  unresolved_counters:
    custody_gap: <number-or-present>
    receipt_legitimacy: <number-or-present>
offered_followups:
  - rite.receipt_counterclaim_hearing
  - rite.defend_chain_with_low_rank_runner
  - rite.publish_counter_receipt
  - rite.settle_duplicate_receipt
branches:
  defended_or_published:
    assigned_cards:
      - card.lin_qiao_chain_runner_or_route_asset_or_equivalent
      - handler_or_publication_actor
    outcome: counterclaim_dismissed | receipt_publicly_contained | runner_protected_under_oath
    deltas:
      receipt_legitimacy: +1
      custody_gap: -1
      runner_risk: +1
  settlement_or_failure:
    assigned_cards:
      - negotiator_or_suppressor_or_none
    outcome: sponsor_duplicate_receipt | false_custody_owner_established | runner_sacrificed | runner_hostile_witness
    deltas:
      archive_debt: +1
      inspection_heat: +1
      false_custody_owner: +1
assertions:
  - event is state-triggered
  - at least two claimant factions are present
  - success has nonzero cost
  - failure or compromise leaves durable pressure
  - evidence is generated by game CLI replay/session history

Non-goals

  • Not a new numbered turn continuation.
  • Not bulk filler.
  • Not raw scale-count satisfaction.
  • Not a generic courtroom scene.
  • Not a free cleanup for custody debt.
  • Not handwritten replay/session evidence.
  • Not a replacement for receipt-packet-counterclaim-procedure.lens; this is the event surface that gives that lens a bindable play trigger.