Recourse Collection Release Lens / 追偿放行 Lens
This lens observes whether 追偿放行线 and 追偿放行机制 make post-recourse release playable.
It exists because the corpus can already make a guarantee collectible through 担保追偿级联. The next failure risk is that a collected target is either permanently dead or freely restored. This lens should fail both conditions.
Observable surface
The lens observes:
- a target locked or scarred by 担保追偿案卷, 追偿扫场违约, route asset seizure, facility sealing, public restitution, substitute collateral, or archive quarantine;
- 追偿放行回执 creation or explicit absence;
- 追偿放行复核 offer and fillability;
- 放行章误触 when a target is released too cleanly, through the wrong room, to the wrong claimant, or without copy discipline;
- durable mutation of route asset, room, proof object, public receipt, schedule lane, handler, faction posture, or broadcast reality.
Must pass
A valid implementation must prove all of the following.
1. Entry inherits a locked post-recourse target
The lens must create or load release pressure from live state, not from a fixed numbered trigger.
Acceptable source states:
seizedroute asset;capturedorpoisonedroute asset;posted_as_collateralschedule lane or proof object;quarantinedarchive copy;locked_recovery_onlyfacility room;recovery_onlyroute;sealed,claimed, orwatchedroom or edge;- public receipt bound to restitution;
- split copy with unresolved claimant discipline.
The replay must record the source recourse or sweep session, source seed, stable target id, and locked target state before release.
2. Release receipt is concrete
The implementation must expose at least one release receipt row with:
release_id: <stable id>
source_recourse_id: <recourse row or sweep id>
locked_target:
target_id: <id>
target_family: route_asset | facility_room | proof_object | public_receipt | schedule_lane | handler_time | fan_oxygen_pool | legal_seal
target_state_before: seized | captured | posted_as_collateral | quarantined | locked_recovery_only | recovery_only | sealed | claimed | watched | poisoned | scarred
collector_or_sealer: sponsor | inspector | archive | editor | fan_public | producer | manager | security | split | unknown
release_condition: paid | subordinated | public_restitution_posted | checksum_verified | seal_appealed | substitute_collateral_spent | fan_receipt_signed | route_rerouted | impossible
harmed_by_release: sponsor | inspector | archive | editor | fan_public | artist | witness | producer | route_claimant | none
scar_after_release: <durable scar>
release_state: pending | lawful_only | public_only | split | conditional | refused | mis_stamped | released_with_scarThe lens must fail if the receipt only records money paid or a generic unlock flag.
3. Review is fillable and branchy
The review must be offered when a credible locked target and release input exist, and must support at least five non-equivalent branch families among:
- lawful release with scar;
- public restitution release;
- split copy release;
- conditional facility release;
- refused release / recovery-only retention;
- mis-stamped release.
Each branch must set different relief, cost, target state, harmed party, and future route effect.
4. Release cannot be clean
Any branch that increases access, lawful use, public legitimacy, room access, slot legibility, custody clarity, or target movement must leave a future-facing scar.
Examples:
- lawful use improves, but bureau debt or inspection heat rises;
- public use improves, but witness exposure or sponsor pressure rises;
- one copy is released, but source ambiguity and copy discipline remain active;
- room access improves, but the edge becomes watched or burned;
- immediate route use improves, but false release challenge is armed;
- refusal blocks unsafe use, but the recovery-only route remains visible.
5. Mis-stamp mutates future play
When release is missing, false-clean, routed through the wrong room, privately issued against public claim, publicly issued against lawful seal, or split without copy discipline, 放行章误触 must mutate at least one durable future surface:
- route becomes challenged, public-only, lawful-only, recovery-only, costlier, or false-clean disputed;
- route asset becomes duplicate-challenge, source-ambiguous, watched, or scarred;
- facility room or edge becomes watched, burned, contaminated, or locked again;
- public receipt becomes distrusted, audit-armed, or counter-release-bound;
- production triage receives lane scar, handler fatigue, or unstaffed risk;
- faction posture becomes hostile, appealed, privately captured, or public-countered.
The event must not be a flavor-only paperwork error.
6. Multi-session inheritance works
The lens must be able to load a target locked by an earlier recourse or sweep and later resolve, refuse, or mis-stamp its release.
Required evidence:
source_lock_session_id: <session that locked target>
source_lock_seed: <seed>
source_recourse_id: <id>
release_session_id: <session that attempted release>
release_seed: <seed>
release_id: <stable id>
locked_target_before: <state>
locked_target_after: <state>
harmed_party_before: <state or none>
harmed_party_after: <state>
release_state_after: <state>
scar_after_release: <scar>
future_route_effect: <effect>If the implementation only tests release inside one isolated scene and never proves callable continuity, the lens is incomplete.
Branch assertions
Lawful release assertion
A lawful release branch must show:
release_state_after_any:
- lawful_only
- released_with_scar
relief_any:
- lawful_use_up
- custody_clarity_up
- archive_fraud_down
cost_any:
- inspection_heat_up
- bureau_favor_debt_up
- route_costlier
future_route_effect_any:
- lawful_use_unlocked_with_debt
- appeal_route_requiredPublic restitution release assertion
A public release branch must show:
release_state_after_any:
- public_only
- released_with_scar
relief_any:
- public_receipt_legitimacy_up
- fan_oxygen_balance_up
- audience_stability_up
cost_any:
- sponsor_pressure_up
- witness_exposure_up
- oxygen_liability_up
future_route_effect_any:
- public_use_unlocked_with_audit
- private_clean_release_blockedSplit release assertion
A split release branch must show:
release_state_after: split
relief_any:
- one_route_unlocked
- claimant_collision_down
cost_any:
- source_ambiguity_up
- future_fraud_cost_up
- copy_discipline_required
future_route_effect_any:
- duplicate_copy_challenge_possible
- false_owner_prevented_with_scarConditional facility release assertion
A facility release branch must show:
release_state_after_any:
- conditional
- routed_with_scar
relief_any:
- target_moved
- room_access_up
- emergency_access_up
cost_any:
- runner_risk_up
- facility_access_pressure_up
- room_watched
- lane_scar_up
future_route_effect_any:
- future_access_costlier
- room_watched_or_burnedRefusal assertion
A refusal branch must show:
release_state_after_any:
- refused
- recovery_only
relief_any:
- false_clean_release_blocked
- unsafe_use_blocked
cost_any:
- claimant_hostility_up
- schedule_pressure_up
- black_screen_slots_up
future_route_effect_any:
- recovery_only_route_remains
- blocked_route_visibleMis-stamp assertion
A mis-stamp branch must show:
release_state_after: mis_stamped
emitted_event: storyteller.event.release_stamp_misfire.v1
relief_any:
- immediate_route_use_up
- room_access_up
- slot_legibility_up
cost_any:
- future_fraud_cost_up
- public_receipt_distrust_up
- claimant_hostility_up
- source_ambiguity_up
future_route_effect_any:
- false_release_challenge_armed
- public_counter_release_required
- lawful_use_costlierFailure cases
The lens must fail if any of these are true:
- entry is triggered by a fixed turn count;
- a collected, swept, seized, quarantined, or recovery-only target becomes clean automatically;
- a seized target is hidden permanently with no release, refusal, recovery-only, or mis-stamp surface;
- release receipt lacks source recourse, locked target, release condition, harmed party, and scar;
- lawful, public, split, facility, refusal, and mis-stamp branches collapse into equivalent outcomes;
- release changes only money or generic pressure;
- release does not mutate route, asset, room, receipt, lane, handler, faction, or broadcast state;
- facility release ignores room/edge state;
- route asset release ignores custody state;
- mis-stamp is flavor only and does not arm a future challenge;
- replay evidence lacks seed/session ids and before/after locked target state.
Progress metric
Progress is measured by observable branch proof, not content count.
- 20%: a post-recourse locked target can create or explicitly refuse a release receipt.
- 40%: the receipt records source recourse, locked target, condition, harmed party, scar, and release state.
- 60%: at least three non-equivalent release branches resolve with relief and future cost.
- 80%: mis-stamp or refusal mutates route, asset, room, receipt, lane, handler, faction, or broadcast state.
- 100%: multi-session replay proves a target locked earlier can later be released, refused, split, or mis-stamped with seed/session ids and before/after target state.
Minimal replay evidence shape
lens: storyteller.lens.recourse_collection_release.v1
result: pass | fail
sessions:
source_lock:
session_id: <id>
seed: <seed>
source_recourse_id: <id>
lock_source: recourse_priority | recourse_sweep | route_asset_seizure | facility_seal | archive_quarantine | public_restitution | substitute_collateral
locked_target:
target_id: <id>
target_family: route_asset | facility_room | proof_object | public_receipt | schedule_lane | handler_time | fan_oxygen_pool | legal_seal
target_state_before_release: seized | captured | posted_as_collateral | quarantined | locked_recovery_only | recovery_only | sealed | claimed | watched | poisoned | scarred
release_review:
session_id: <id>
seed: <seed>
offered_card: storyteller.card.collection_release_receipt.v1
offered_rite: storyteller.rite.collection_release_review.v1
selected_branch: lawful_release | public_release | split_release | facility_release | refuse_release | mis_stamp
release_receipt_before: <row>
release_receipt_after: <row>
deltas:
- <relief>
- <cost>
- <future route, asset, room, receipt, lane, handler, faction, or broadcast effect>
mis_stamp:
session_id: <id>
seed: <seed>
emitted_event: storyteller.event.release_stamp_misfire.v1 | none_if_valid_release
locked_target_before: <state>
locked_target_after: <state>
harmed_party_before: <state or none>
harmed_party_after: <state>
future_route_effect: <effect>
assertions:
entry_state_driven: true
locked_target_concrete: true
release_receipt_concrete: true
branch_non_equivalence: true
release_has_future_scar: true
mis_stamp_mutates_future_play: true
multi_session_inheritance: true
no_fixed_turn_trigger: trueNon-goals
- Not a generic recovery UI.
- Not raw balance tuning.
- Not governance content.
- Not a fixed collection phase.
- Not satisfied by wiki page existence.
- Not satisfied by one branch that pays money and clears a lock.
- Not a replacement for recourse, facility, public contrition, route asset, production triage, claimant collision, clean-ending, or broadcast drift lenses; it makes their locked targets releasable only through scarred play.