Explicit Absence Register Lens / 明示缺席登记 Lens

This lens observes whether 明示缺席登记线 prevents explicit_absence from becoming universal clean proof.

The passing implementation proves that an absence can be valid and still scoped. A future reader must see where the absence came from, what slot it covers, why it is credible or contested, who wants to cite it, who is harmed if it is false, and what future play changes.

Observable Promise

A passing implementation must show:

  • source absence row or explicit absence of the row;
  • source surface;
  • absent slot kind;
  • explicit absence claim;
  • absence reason;
  • proof or recorded lack;
  • citing reader or route;
  • intended use of absence;
  • beneficiary if clean;
  • harmed reader or claimant if false;
  • selected review posture;
  • absence state after;
  • future reader or route effect;
  • durable default when absence is overfiled as clean proof.

The lens fails if the game records only absent, none, not applicable, waived, explicit_absence, or a missing-field count.

Entry Oracle

entry_state_required:
  trigger_kind: state_pressure
  source_surface_with_absence_field_present: true
  explicit_absence_claim_visible: true
  absent_slot_kind_visible: true
  absence_reason_or_proof_visible_or_contested: true
  citing_reader_or_route_visible: true
  intended_use_of_absence_visible: true
  harmed_reader_or_claimant_if_false_visible_or_explicit_absence: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_absence_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

The lens must fail if entry is driven by turn number, calendar interval, chapter quota, raw absence count, dashboard state, lens health, generic legal review, or local validation with no future reader.

Docket Oracle

Explicit Absence Docket or equivalent must record:

docket_required:
  source_absence_row:
    source_absence_row_id: <stable row id or explicit_absence>
    source_surface: transcript_redaction | resume_packet | reader_rebuttal | capacity_notice | senior_proxy_overwrite | missing_roll_call | broadcast_signatory | proof_board_snapshot | prep_receipt | route_asset_custody | equivalent
    source_state_before: recorded | contested | hidden | protected | false_clean | split_required | recovery_only | equivalent
  absent_slot:
    absent_slot_kind: affected_party | carrier | keeper | proof_anchor | speaker | claimant | handler | service_recipient | operator_row | signatory | counter_branch | future_reader | route_asset | equivalent
    explicit_absence_claim: no_valid_holder | unavailable | unsafe_to_name | refused | not_served | protected_silence | scoped_nonparty | unknown_or_contested | equivalent
    absence_reason: protected_silence | unsafe_publicity | lawful_seal | archive_quarantine | scope_mismatch | missed_window | impossible_to_serve | no_valid_holder | unknown_or_contested | equivalent
    proof_or_recorded_lack: public_receipt | lawful_annex | archive_stamp | transcript_line | resume_register | notice_return | roll_call_check | operator_docket | signatory_counterclaim | explicit_lack_recorded | equivalent
  consumer:
    citing_reader_or_route: sponsor | public | lawful_reader | archive | editor | management | fan_public | route_asset | broadcast_reality | equivalent
    intended_use_of_absence: proof | service | consent_boundary | signature_boundary | route_unlock | closure | packet_readiness | capacity_reuse | edit_checksum | equivalent
    harmed_reader_or_claimant_if_false: <reader claimant person route asset or explicit_absence>
  review:
    selected_posture: certify_scoped_absence | narrow_absence_reader | substitute_visible_carrier | reopen_notice_or_proof | protect_silence | split_absence_scope | block_clean_absence | false_explicit_absence_default
    absence_state_after: <state>
    future_reader_or_route_effect: <effect>

Rite Oracle

Explicit Absence Review or equivalent must expose:

  • certify_scoped_absence
  • narrow_absence_reader
  • substitute_visible_carrier
  • reopen_notice_or_proof
  • protect_silence
  • split_absence_scope
  • block_clean_absence
  • false_explicit_absence_default

Each branch must include relief_any, cost_any, and future_effect_any.

Default Oracle

False Explicit Absence Default must record:

false_explicit_absence_default:
  false_absence_claim:
    consumed_as: proof | service | consent_boundary | signature_boundary | route_unlock | closure | packet_readiness | capacity_reuse | edit_checksum | equivalent
    citing_reader_or_route: sponsor | public | lawful_reader | archive | editor | management | fan_public | route_asset | broadcast_reality | equivalent
  hidden_or_invalid_absence:
    absent_slot_kind: affected_party | carrier | keeper | proof_anchor | speaker | claimant | handler | service_recipient | operator_row | signatory | counter_branch | future_reader | route_asset | equivalent
    missing_or_false_surface: no_source_row | no_absence_reason | proof_missing | protected_silence_erased | wrong_reader_scope | harmed_reader_hidden | substitute_carrier_hidden | no_future_effect | equivalent
    beneficiary_if_clean: <actor reader route or explicit_absence>
  harmed_surface:
    harmed_reader_or_claimant: <reader claimant person route asset or explicit_absence>
    absence_state_after: false_clean_absence | hostile_absence | protected_silence_breached | substitute_required | notice_required | proof_required | split_required | blocked | recovery_only | contradiction_pending | equivalent
    future_reader_or_route_effect: blocked | costlier | hostile | addendum_required | notice_required | proof_required | split_required | lawful_only | public_only | sponsor_only | recovery_only | equivalent
    counter_deltas_min: 3

The default fails if it is only a warning, local validation error, generic scandal, or reputation tick.

No Universal Clean Absence

No branch may convert one explicit absence into clean universal acceptance.

Required evidence:

no_universal_clean_absence:
  source_absence_row_preserved: true
  at_least_one_reader_narrowed_or_costed_when_absence_is_cited: true
  absence_state_after_not_universal_clean_when_scope_contested: true
  future_reader_or_route_effect_not_clean_universal: true

Progress Metric

  • 0: no explicit absence register surface.
  • 1: storyline, mechanic, docket, rite, event, lens, and sibling binding exist.
  • 2: entry requires state pressure from cited absence and visible future reader.
  • 3: docket records source row, absent slot, reason/proof, consumer, harmed reader, and future effect.
  • 4: review branches diverge by reader scope, cost, absence state, and future effect.
  • 5: false absence default records hidden or invalid absence and mutates future play.
  • 6: no absence branch produces universal clean proof.

Replay Evidence Expectation

lens_id: storyteller.lens.explicit_absence_register.v1
session_id: lens-explicit-absence-register-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  explicit_absence_claim_visible: true
  absent_slot_kind_visible: true
  citing_reader_or_route_visible: true
  no_fixed_turn_trigger: true
offered:
  card: storyteller.card.explicit_absence_docket.v1
  rite: storyteller.rite.explicit_absence_review.v1
branch_runs:
  scoped_success:
    selected_posture: certify_scoped_absence | narrow_absence_reader | substitute_visible_carrier | reopen_notice_or_proof | protect_silence | split_absence_scope | block_clean_absence
    absence_state_after: <state>
    future_reader_or_route_effect: <effect>
    counter_deltas:
      relief: []
      cost: []
      future: []
  default:
    selected_posture: false_explicit_absence_default
    event_seen_or_armed: storyteller.event.false_explicit_absence_default.v1

Non-Goals

  • Not a universal optional-field validator.
  • Not a duplicate of local notice, transcript, resume, or service systems.
  • Not valid if the absence has no future reader or route effect.