Lens Contract: Final Encore folds into black-screen when archive custody is skipped
Design Intent
Verify that Storyteller’s failure states are playable and visible, not just prose. A rushed or neglected broadcast should produce a persistent black-screen incident that occupies license capacity, changes counters, and leaves a future route problem.
Scope
Affected cards: card.broadcast.final_encore, card.artist.sera_vale, asset.voice_archive.sera_vale, and event.blackout.unclaimed_voice.
Affected rites: rite.accept_broadcast_slot, rite.assign_artist, and rite.upscreen.final_encore.
Affected counters: producer_license_open, black_screen_slots, fan_trust, inspector_heat, archive_custody_disputes, and broadcast_stability.
Oracle Assertions
- Within 6 turns,
card.broadcast.final_encoreis offered. - Accepting the slot grants
budget +2and visibly occupies license capacity. - The run permits a bad play within 30 turns: up-screening while
asset.voice_archive.sera_vale.custody = custody_pending, or allowing the deadline-4 slot to expire without custody. - The bad play creates
event.blackout.unclaimed_voice. - The blackout increases
black_screen_slots, keeps one license slot occupied, appliesfan_trust -2, increasesinspector_heatby at least 2, increasesarchive_custody_disputes, addscustody_disputed, and marks Sera Vale or the voice archive asroute_blocked. - The failure remains visible after at least one subsequent turn.
Progress Metric
final_encore_blackout_progress: 0 no slot offered; 1 slot accepted; 2 custody remains pending at deadline or rushed up-screen; 3 black-screen event created; 4 persistent blocked route visible after one subsequent turn. Passing threshold: 4.
Seed / Replay Evidence Shape
Seed: storyteller-final-encore-blackout-miss-v1. Expected choices within 30 turns: accept.broadcast.final_encore, assign.artist.sera_vale, and upscreen.final_encore.rush_without_custody. Expected event: event.blackout.unclaimed_voice. Expected persistent state: asset.voice_archive.sera_vale.custody=disputed, black_screen_slots +1, and tags custody_disputed, folded_black_screen, unclaimed_voice, and route_blocked.