Explicit Absence Register / 明示缺席登记线
Explicit Absence Register is the pressure storyline for a row that says a person, proof object, carrier, reader, handler, or counter-branch is explicitly absent, and a later route wants to use that absence as proof.
The vault already asks many local systems to record explicit_absence instead of leaving a blank. That is necessary, but not enough. A future reader can still launder the absence into “nothing is owed”, “no one can object”, or “the route is clean” unless the absence has its own source, reason, reader scope, harmed party, and future effect.
This storyline asks: when explicit absence becomes usable evidence, who gets to certify it, narrow it, reopen it, protect it, split it, block it, or expose it as false absence?
Gap Diagnosis
Existing systems correctly demand explicit absence in local contexts:
- Reader Rebuttal Notice prevents future readers from citing rows without affected-party notice.
- Resume Packet Triage prevents a resumed hand from hiding live pressure rows.
- Hearing Transcript Redaction records absent speakers, proof anchors, and keepers.
- Capacity Notice Service Queue requires service or explicit absence before capacity can be reused.
- Senior Proxy Overwrite Review rejects absent operator rows as agreement.
- Missing Roll-Call Reconciliation asks whether a missing body, alias, or safety receipt can be consumed.
- Broadcast Signatory Counterclaim blocks face, voice, or silence from becoming clean signature.
The uncovered seam is downstream: a correct local absence may later become a proof object. Without this register, the implementation can show explicit_absence once, then let sponsor, lawful, public, archive, editor, management, route-asset, or broadcast-reality readers consume it as universal clean absence.
State-Triggered Entry
Open only when all conditions are true:
entry_state:
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
player_can_certify_narrow_substitute_reopen_protect_split_block_or_default: 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: trueValid source surfaces include transcript rows, resume packets, capacity service rows, rebuttal notice ledgers, operator overwrite rows, missing roll-call ledgers, signatory counterclaims, proof-board snapshots, prep receipts, and route-asset custody rows.
Bound Content Pack
- 明示缺席登记机制 defines the state model, valid absence reasons, branch families, and default contract.
- 明示缺席案卷 stores source row, absent slot, absence reason, proof or recorded lack, citing reader, harmed reader, and future effect.
- 明示缺席复核 resolves one cited absence through scoped certification, reader narrowing, substitution, reopening, protection, split scope, visible block, or default.
- 伪明示缺席默认 fires or arms when a future surface consumes an absence as clean proof without this state.
Storyline Spine
Beat 1 - A local surface records absence
A row in another storyline records explicit absence for a slot that matters: affected party, carrier, keeper, proof anchor, speaker, claimant, handler, service recipient, operator row, signatory, counter-branch, route asset, or future reader.
The local result stays true. This storyline starts when another surface wants to use that absence.
Beat 2 - The absence becomes citable
Create or refresh Explicit Absence Docket. The docket must name the source row, absent slot, absence claim, reason or missing reason, proof or recorded lack, citing reader, intended use, beneficiary if clean, harmed reader if false, and future route effect.
Beat 3 - Review chooses how absence travels
Run Explicit Absence Review. The player can certify the absence for one reader, narrow it, substitute a visible carrier, reopen notice or proof, protect a silence, split scope between readers, block clean use, or accept false absence default.
Beat 4 - Future play consumes scoped absence
The result must change later route state:
- sponsor reader may accept scoped absence but public reader receives addendum or hostility;
- lawful reader may accept a sealed absence while public or route-asset reader waits;
- archive may hold proof that a speaker was absent without making silence universal;
- editor may carry an absent proof anchor only as checksum debt;
- route asset may remain blocked, costlier, or recovery-only until substitute state exists.
Beat 5 - False absence hardens if clean use moves first
If a future reader uses the absence without source, reason, scope, harmed reader, and cost, False Explicit Absence Default fires or arms.
Branch Map
| Branch | Relief | Cost/Scar | Future state |
|---|---|---|---|
| Certify scoped absence | one reader can proceed | proof burden, public distrust, or audit heat remains | accepted-with-scope |
| Narrow absence reader | absence stops overbroad use | omitted reader needs notice or addendum | reader-specific absence |
| Substitute visible carrier | route gains a concrete handler/proof/person | handler burden, exposure, or schedule cost rises | substitute-required or costlier |
| Reopen notice or proof | false clean route pauses | delay, inspection heat, claimant pressure | notice-required or proof-required |
| Protect silence | unsafe naming is avoided | protected silence debt or payroll/support cost rises | protected-silence, lawful-only, or escrow-only |
| Split absence scope | incompatible readers get separate answers | contradiction pressure and future reconciliation cost rise | split-required |
| Visible block | absence cannot be consumed yet | route blocks or reroutes | blocked, downgraded, or recovery-only |
| False absence default | immediate report may proceed | harmed reader, claimant, or route asset hardens | false-absence default |
No branch may make one absence clean for sponsor, public, lawful, archive, editor, management, route asset, and broadcast reality at once.
Integration Notes
- With reader-rebuttal-notice, this line only starts after an absence is being cited; notice still decides whether an affected party can answer.
- With resume-packet-triage, this line does not replace the omission register. It handles the case where the packet says the omitted row is explicitly absent and a future reader wants to rely on that.
- With hearing-transcript-redaction, the transcript can hide a speaker safely only if the absence keeps proof, keeper, and reader scope.
- With capacity-notice-service-queue, a service recipient can be absent, but the capacity row still needs proof that the absence is valid for the consuming reader.
- With broadcast-signatory-counterclaim, explicit absence of a signer cannot become automatic signature release.
Missability and Recovery
The storyline is missed when implementation:
- treats
explicit_absenceas a clean boolean; - records no source row or absent slot kind;
- omits absence reason, proof, or recorded lack;
- hides the reader trying to consume the absence;
- hides the harmed reader or claimant if the absence is false;
- lets absence satisfy every reader without branch cost;
- opens from fixed timing, raw absence count, dashboard state, or lens health.
Recovery is allowed only with visible scar: rebuild the docket, narrow reader scope, substitute a carrier, reopen notice or proof, publish an addendum, escrow protected silence, split the route, or accept blocked/costlier/recovery-only state.
Replay Evidence Expectation
storyline_id: storyteller.storyline.explicit_absence_register.v1
session_id: lens-explicit-absence-register-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
trigger_kind: state_pressure
source_surface_with_absence_field_present: true
explicit_absence_claim_visible: true
absent_slot_kind_visible: true
citing_reader_or_route_visible: true
no_fixed_turn_trigger: true
offered:
mechanic: storyteller.mechanic.explicit_absence_register.v1
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.v1Non-Goals
- Not a universal null-check rule.
- Not a replacement for local absence requirements.
- Not a generic notice storyline.
- Not a UI validation page.
- Not valid unless a future reader wants to consume the absence as proof.