Stability Package Queue Lens / 稳播包装队列 Lens

This lens observes whether 稳播包装队列线 and 稳播包装队列机制 correctly turn public package authorship into executable pressure.

A pass cannot be achieved by adding a recap scene, a sponsor demand, a fan backlash note, or a generic PR choice. The implementation must show a package subject, multiple claimant frames, required inputs, omitted truths, assignment slots, divergent branches, a default author, future-route readers, and replay evidence without fixed turn triggers.

This lens observes:

It is observed through:

Observable promise

When a crisis becomes packageable, Storyteller must prove that a watchable public version is authored by someone and paid for by someone else. Sponsor, editor, inspector, fan public, and management frames cannot all become clean at once.

The lens passes only when the game can answer:

What is being packaged, which claimants want which frames, what truth each frame omits, who carries the package, what future route reads it, and who captures authorship if the player does nothing credible?

Must pass

1. Entry is state-triggered

Required evidence:

entry_state:
  trigger_kind: state_pressure
  source_crisis_or_resolution_present: true
  package_subject_present: true
  package_claimants_min: 2
  future_reader_present: true
  default_author_present: true
  no_fixed_turn_trigger: true

The lens fails if eligibility depends on a fixed turn number, day interval, chapter quota, lens-health state, raw page count, or generic broadcast calendar.

2. Source relief and debt are visible

A valid replay must name the source surface and show what it relieved and what it left behind.

source:
  source_surface: <storyline_or_mechanic_or_card_id>
  source_resolution_id: <prior_resolution_or_explicit_absence>
  source_relief: <relief_counter_or_state>
  source_debt: <debt_counter_or_state>

The lens fails if the package appears as an isolated PR task with no prior relief/debt row.

3. Package subject is concrete

Stability Package Slate must name the subject being packaged.

Accepted subject families:

  • memorial copy;
  • safety notice;
  • correction slot;
  • fan oxygen receipt;
  • public contrition;
  • sponsor relief segment;
  • edit recap;
  • lawful hold;
  • route asset;
  • witness proof;
  • blackout recovery packet;
  • equivalent.

The lens fails if the subject is only “the crisis” or “a public version.”

4. At least two claimant frames exist

The slate must record at least two claimant rows from distinct frame families.

Accepted frame families:

  • sponsor relief / naming safety;
  • editor checksum / continuity smoothing;
  • inspector safety / lawful hold;
  • fan-public receipt / mourning proof / oxygen ledger;
  • management case-study / efficiency metric;
  • archive lawful notice;
  • route-asset carrier frame;
  • equivalent.

The lens fails if only one authorial claimant exists, even if the branch has multiple flavor choices.

5. Claimant rows include input, omission, and future effect

Each claimant row must record:

claimant_row:
  claimant: sponsor | editor | inspector | fan_public | management | archive | route_asset | equivalent
  desired_frame: <frame>
  required_input: <money_cutroom_oath_receipt_handler_copy_witness_or_absence>
  omitted_truth: <what this frame makes harder to see>
  future_route_effect_if_chosen: <effect>

The lens fails if the row only says what the claimant wants, without required input, omitted truth, and future effect.

6. Future reader is named

The slate must name at least one future route, slot, custody object, public statement, edit checksum, stability table, or management metric that reads the package state.

Required shape:

future_reader:
  route_or_slot_or_mechanic: <id>
  accepted_package_states: []
  rejected_or_costlier_package_states: []

The lens fails if the package changes only immediate mood, reputation, or money.

7. Arbitration is assignable

Stability Package Arbitration must require concrete assignments:

assignment:
  slate: storyteller.card.stability_package_slate.v1
  package_subject: <id>
  selected_frame: sponsor_relief | editor_checksum | inspector_safety | fan_receipt | management_case | split_frame | explicit_absence
  counter_frame_or_absence: <frame_or_explicit_absence>
  package_handler_or_absence: <handler_or_explicit_absence>
  proof_anchor_or_absence: <proof_or_explicit_absence>
  bridge_or_cost: sponsor_cash | edit_release | inspector_oath | fan_oxygen_receipt | public_table | schedule_scar | handler_rest | archive_copy | explicit_scar | explicit_absence
  future_reader: <id>

The lens fails if sponsor money, edit authority, legal authority, archive custody, or fan public can resolve the package without naming counter-frame, proof anchor, and future reader.

8. Branches diverge

At least five branch families must be playable or explicitly blocked by state:

  • sponsor-safe package;
  • editor checksum package;
  • inspector safety package;
  • fan-public package;
  • split package;
  • refuse or hold package;
  • default author captures.

Each branch must differ by package state, omitted frame cost, claimant posture, and future route effect. The lens fails if all branches return one clean audience_stabilized result.

9. Success has relief, cost, and future gate

Every successful package branch must mutate at least three counters or durable states:

  • one relief delta;
  • one cost delta;
  • one future route, slot, or broadcast-reality delta.

Accepted cost surfaces include contract capture, edit debt, source ambiguity, inspection heat, bureau favor debt, fan oxygen liability, public distrust, witness exposure, handler burden, false-clean metric, schedule pressure, reality drift, future clearance cost, or route restriction.

10. Omitted frame becomes cost or counter-package

The frame not selected, under-supported, or hidden must remain visible as cost, route restriction, counter-package, or default pressure.

The lens fails if choosing sponsor packaging erases fan grief, choosing editor checksum erases public receipt, choosing inspector safety erases sponsor pressure, or choosing fan public erases lawful and sponsor consequences.

11. Capture default is durable

Stability Package Capture Default must fire or be armed when the slate is hidden, underfilled, lacks future reader, lacks proof anchor, hides counter-frame, or lets one claimant file first.

Required event evidence:

default_event:
  event: storyteller.event.stability_package_capture_default.v1
  package_subject: <id>
  default_author: sponsor | editor | inspector | fan_public | management | archive | route_asset | blackout_system | equivalent
  missing_inputs:
    selected_frame: present | absent
    counter_frame: present | absent
    proof_anchor: present | absent
    package_handler: present | absent
    public_receipt: present | absent
    future_reader: present | absent
  package_state_after: captured | false_clean | sponsor_safe | editor_smoothed | inspector_held | fan_martyred | management_case_study | blackout_recovery_only | equivalent
  future_route_effect: blocked | costlier | sponsor_only | lawful_only | public_only | edit_checksum_required | split_required | recovery_only | equivalent
  counter_deltas: {}

The lens fails if default is only narration.

12. Package state changes future acceptance

At least one future route, rite, event, or system must accept, reject, narrow, or surcharge based on the resulting package state.

Valid effects include:

  • sponsor_only;
  • lawful_only;
  • public_only;
  • edit_checksum_required;
  • split_required;
  • accepted_with_bridge;
  • blocked;
  • costlier;
  • recovery_only;
  • blackout_recovery_required.

13. Replay provenance exists

Passing evidence must include seed/session id, entry state, source relief/debt, package subject, claimant rows, slate, arbitration assignment, selected branch, package state after, omitted frame cost, default event or armed event, counter deltas, and future reader.

Replay evidence expectation

lens_id: storyteller.lens.stability_package_queue.v1
session_id: lens-stability-package-queue-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  source_crisis_or_resolution_present: true
  package_subject_present: true
  package_claimants_min: 2
  future_reader_present: true
  default_author_present: true
  no_fixed_turn_trigger: true
source:
  source_surface: <id>
  source_resolution_id: <id_or_explicit_absence>
  source_relief: <relief>
  source_debt: <debt>
offered:
  card: storyteller.card.stability_package_slate.v1
  rite: storyteller.rite.stability_package_arbitration.v1
slate:
  package_subject: <subject_id>
  claimant_rows:
    - claimant: <claimant>
      desired_frame: <frame>
      required_input: <input_or_absence>
      omitted_truth: <truth>
      future_route_effect_if_chosen: <effect>
  default_author: <author>
  future_reader: <id>
branch_runs:
  authored_branch:
    selected_frame: sponsor_relief | editor_checksum | inspector_safety | fan_receipt | management_case | split_frame
    counter_frame_or_absence: <frame_or_absence>
    package_handler_or_absence: <handler_or_absence>
    proof_anchor_or_absence: <proof_or_absence>
    bridge_or_cost: <bridge_or_cost>
    package_state_after: <state>
    omitted_frame_cost: <cost_or_counter_package>
    future_route_effect: <effect>
    counter_deltas: {}
  capture_branch:
    emitted_or_armed_event: storyteller.event.stability_package_capture_default.v1
    default_author: <author>
    package_state_after: <state>
    future_route_effect: <effect>
    counter_deltas: {}
assertions:
  - primary_links_exist
  - entry_is_state_triggered
  - package_subject_and_source_relief_debt_visible
  - package_claimants_min_two
  - claimant_rows_record_required_inputs_omitted_truths_and_future_effects
  - slate_records_default_author_and_future_reader
  - arbitration_requires_selected_frame_counter_frame_handler_proof_bridge_or_absence
  - branches_diverge_by_package_state_cost_and_future_reader
  - success_has_relief_cost_and_future_gate
  - omitted_frame_becomes_cost_or_counter_package
  - capture_default_records_author_missing_inputs_package_state_and_future_effect
  - package_state_changes_broadcast_reality_or_future_route_acceptance
  - no_fixed_turn_trigger

Progress metric

stabilityPackageQueueProgress = 0..10:

  • 0: no package authorship pressure.
  • 1: source crisis/resolution and package subject are visible.
  • 2: at least two claimant frames exist.
  • 3: claimant rows record required input, omitted truth, and future effect.
  • 4: future reader and default author are named.
  • 5: Stability Package Slate enters play with source relief/debt, claimant rows, assignment fields, and default author.
  • 6: Stability Package Arbitration offers selected frame, counter-frame, handler, proof anchor, bridge/cost, and future reader.
  • 7: authored branch mutates package state with relief, cost, and future gate.
  • 8: omitted frame becomes counter-package, cost, or route restriction.
  • 9: Stability Package Capture Default fires or is armed with default author and future effect.
  • 10: replay evidence proves authored and capture/hold/default branches with deltas and no fixed turn trigger.

Non-goals

  • Not a governance lens.
  • Not a raw-count lens.
  • Not a PR copywriting checklist.
  • Not a fixed release schedule.
  • Not a free audience-stability or sponsor-stability repair.
  • Not valid if custody, law, sponsor cash, edit checksum, or fan public alone can make the package clean for every future route.
  • Not valid if omitted truth disappears without counter-package, cost, route gate, or default pressure.