K-404 Custody Mismatch Terminal / K-404 羁押错配终端线

Bound character: K-404.

K-404 is an environmental NPC: a facility return terminal whose only sacred instruction is to match things with the custody record that proves they can be used. In Storyteller terms, K-404 is not a cute computer and not a shop. It is a low-status witness that can recover, misindex, expose, or poison route assets.

This storyline makes K-404 playable as a recruitable/suppressible environmental follower tied to K-404 羁押错配索引机制.

Gap this storyline fills

The current corpus already has strong custody, facility, evidence carryover, provenance, witness, maintenance, and ending-scar layers. The missing playable surface is smaller and sharper: a proof object can be carried through the building and still become unusable because the wrong custodian is written on the return record.

K-404 converts that mismatch into a branch: protect the terminal, prove the object, split the index, quarantine the object, suppress the terminal, or let a claimant narrate first.

Entry state

The storyline can open when all are true:

entry_state:
  trigger_kind: state_pressure
  contested_object_present: true
  route_asset_state_any:
    - captured
    - false_owner
    - recovery_only
    - contradiction_pending
    - route_asset
    - protected
    - public_only
    - lawful_only
  k404_index_row_possible: true
  claimant_or_rival_claimant_present: true
  future_route_effect_possible: true
  no_fixed_turn_trigger: true

Valid sources include facility reroutes, evidence carryover, provenance forks, memorial/voice custody, fan receipt conflicts, inspector seals, sponsor waivers, editor checksums, archive copies, or black-box fragments.

Story beats

Beat 1 — The terminal sees a mismatch

K-404 indexes an object that no longer matches the custody record.

Playable output:

  • K-404 羁押错配案卷 enters play;
  • the object receives a current route asset state;
  • apparent claimant, rival claimant, proof anchor, and default risk are visible.

Beat 2 — The producer chooses whether K-404 matters

The player may assign K-404 羁押归还听证.

Playable choices:

  • verify return with proof and pay a scar;
  • split the index and preserve two incompatible claims;
  • quarantine the object until proof improves;
  • publicize the index through fan witness, historian note, or public queue;
  • settle with sponsor or formal authority;
  • mask the object with edit support;
  • suppress K-404;
  • abandon the docket.

Beat 3 — K-404 converts or hardens

K-404’s state must change according to player choice and support.

Valid conversions:

k404_character_states:
  offered_terminal:
    card_seen: true
  recruited_index_witness:
    future_k404_rites_unlocked: true
    cost: terminal_exposure_or_handler_burden
  protected_public_terminal:
    public_or_audit_route_support: true
    cost: inspection_or_sponsor_pressure
  quarantined_terminal:
    false_return_prevented: true
    cost: route_delay_or_recovery_cost
  suppressed_terminal:
    immediate_pressure_relief: true
    future_k404_help_blocked_or_costlier: true
  hostile_terminal_witness:
    future_testimony_against_player: true
  missed_terminal:
    default_claimant_controls_object: true
  locked_terminal:
    recovery_only_or_facility_access_required: true

Beat 4 — The object changes future play

A branch is valid only if the contested object mutates future routes. Possible route effects:

  • route asset recovered with scar;
  • public-only, lawful-only, editor-only, sponsor-only, or split-required use;
  • future claim cost rises;
  • false owner is blocked, reduced, or hardened;
  • ending scar row becomes possible;
  • evidence carryover row gains a K-404 source;
  • facility access route becomes required for terminal recovery.

Beat 5 — Aftershock if underfilled or suppressed

If the hearing is underfilled, defaulted, or suppressed, K-404 索引冲突反震 fires or is armed.

It must change the object, terminal state, claimant gate, and future route availability.

Costs and counters

Every meaningful branch changes at least three counters or durable states:

  • terminal_trust
  • terminal_exposure
  • terminal_suppressed
  • k404_index_conflict
  • custody_gap
  • route_asset_usability
  • route_blocked
  • false_custody_owner
  • public_receipt_legitimacy
  • public_receipt_distrust
  • inspection_heat
  • sponsor_stop_loss_pressure
  • contract_capture
  • fan_oxygen_resentment
  • edit_debt
  • source_ambiguity
  • archive_debt
  • future_claim_cost
  • recovery_route_cost

Branch matrix

BranchReliefCostFuture route effect
Verify returnasset usable againterminal exposure or official debtobject returns with scar
Split indexfalse owner containedambiguity or archive debtroute must choose copy/claimant
Quarantinewrong use preventeddelay and recovery costlawful appeal or facility recovery required
Public noticeprivate capture blockedwitness exposure, sponsor or inspection heatpublic route opens with retaliation
Sponsor settlementimmediate budget/slot pressure downcontract capture and distrustsponsor gate required
Edit masktargeting risk downedit debt and source ambiguityreveal/checksum needed later
Suppress terminalshort reliefK-404 blocked, hostile, or recovery-onlyterminal route scarred
Abandonno cost paid nowdefault claimant hardensobject captured/blocked/recovery-only

Replay/session evidence shape

storyline: storyteller.storyline.character.k404_custody_mismatch_terminal.v1
session_id: lens-k404-custody-mismatch-terminal-v1-<timestamp>
seed: <deterministic-seed>
entry:
  trigger_kind: state_pressure
  contested_object: <object id>
  route_asset_state_before: <state>
  k404_state_before: unseen | indexed | claim_open | cross_matched | suppressed | locked
  apparent_claimant: <claimant>
  rival_claimant: <claimant or explicit_absence>
offered:
  card: storyteller.card.k404_custody_mismatch_docket.v1
  rite: storyteller.rite.k404_custody_return_hearing.v1
branches:
  recruit_or_protect:
    k404_state_after: recruited_index_witness | protected_public_terminal | returned_with_scar
    route_asset_state_after: route_asset | protected | public_only | lawful_only | split_required
    deltas:
      relief: []
      cost: []
      future: []
  suppress_or_miss:
    event: storyteller.event.k404_index_conflict_aftershock.v1
    k404_state_after: suppressed_terminal | hostile_terminal_witness | missed_terminal | locked_terminal
    route_asset_state_after: captured | false_owner | hostile | blocked | recovery_only
    deltas:
      relief: []
      cost: []
      future: []
assertions:
  - state_triggered_entry
  - docket_is_concrete
  - rite_is_assignable
  - k404_can_convert_to_recruited_protected_suppressed_hostile_or_missed
  - object_changes_future_route
  - aftershock_is_durable
  - no_fixed_turn_trigger

Non-goals

  • Not a filler side NPC.
  • Not a store, random item table, or universal recovery terminal.
  • Not a fixed-turn recruitment.
  • Not valid unless K-404 state and route asset availability both change.
  • Not valid unless suppressing or missing K-404 has a durable cost.