Hearing Transcript Redaction Lens / 听证笔录删改 Lens
This lens observes whether 听证笔录删改线 and 听证笔录删改机制 correctly make future-readable hearing words into transcript custody.
The oracle is: redaction is scoped custody, not universal truth repair. If a future route, archive seal, public table, sponsor gate, editor reader, lawful appeal, witness protection route, or broadcast-reality correction can cite a hearing result, the implementation must expose a docket row, assign keeper/proof/reader/posture, preserve or price omissions, and make missing or misfiled minutes durable.
A pass cannot be achieved by adding a character scene for Redaction Stenographer, a generic archive note, or a clean transcript recap. Transcript state must change future reader access, route availability, proof credibility, or recovery cost.
Primary observation link
This lens observes:
- 听证笔录删改线;
- 听证笔录删改机制;
- 听证笔录删改案卷;
- 笔录删改听证;
- 笔录删改默认;
- Redaction Stenographer;
- related hearing/result sources including Memorial Air Chain Cross-Examination, 播出实在漂移审计, 认领告知顺序, 粉丝委任分裂线, 受保护证人薪册, 证人报复链, and 读者反驳通知线.
It is observed through:
Design intent
The current corpus is already strong at creating hearings, dockets, witness burdens, public counterclaims, evidence carryover, and broadcast-reality consequences. This lens targets the remaining execution seam: the words generated by a correct hearing can still become false if future content reads them as clean, complete, universal minutes.
The player experience should be management/RPG pressure. The producer is not reading a full transcript; the producer is deciding who keeps the row, which proof anchor supports it, which reader can cite it, which reader is excluded or narrowed, and what happens when the minutes are cleaned too aggressively.
Must pass
1. Entry is state-triggered by future-readable hearing result
A valid replay or state inspection must open the transcript-redaction surface from present transcript pressure, not from sequence position.
entry_state_required:
trigger_kind: state_pressure
source_hearing_or_action_present: true
line_or_explicit_silence_present: true
future_reader_or_route_present: true
keeper_or_explicit_absence_required: true
proof_anchor_or_explicit_absence_required: true
redaction_posture_available_or_default_armed: true
default_if_unworked_present: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_transcript_count_trigger: true
no_dashboard_or_lens_health_trigger: trueThe lens fails if entry depends on a fixed turn, fixed day/week, chapter quota, raw transcript count, raw hearing count, dashboard state, or lens-health state.
2. Docket row is concrete
听证笔录删改案卷 or equivalent must record:
transcript_docket_required:
source_hearing: memorial_air_chain | broadcast_reality_drift | claimant_briefing | fan_delegate_mandate | protected_witness | correction_slot | cutroom_priority | reader_rebuttal | equivalent
source_session_id_or_in_world_source: <session id, route id, hearing id, or explicit_absence>
spoken_line_or_silence: <line id or explicit_silence>
speaker_or_absence: <character, witness, institution, relay, or explicit_absence>
proof_anchor_or_absence: oath | checksum | receipt | air_chain | transcript_hash | archive_seal | public_excerpt | explicit_absence | equivalent
keeper_or_absence: ruan_chi | han_yanshuang | baiya | yu_lan | shen_luo | inspector | sponsor | editor | public_delegate | explicit_absence | equivalent
requested_redaction: none | lawful_redaction | sponsor_clean_minutes | editor_checksum_mask | public_excerpt | split_transcript_escrow | hostile_omission | equivalent
transcript_readers:
- inspector_or_archive | lawful_reader | sponsor | editor | public | witness | artist | broadcast_reality | route_asset | equivalent
- <second reader or explicit_absence_with_cost>
future_reader_or_route: <route, reader, seal, gate, appeal, correction, payroll, or event>
risk_if_ignored: missing_minutes | false_clean_transcript | hostile_omission | sponsor_captured_minutes | reader_collision | recovery_only | equivalentThe lens fails if the row records only the winning branch, only a summary, only mood, or only an archive note.
3. Keeper and proof anchor are visible or explicitly absent
A transcript row must never use a clean proof token without keeper/proof custody.
keeper_proof_required:
keeper_visible_or_explicit_absence: true
proof_anchor_visible_or_explicit_absence: true
if_keeper_absent_then_absence_has_cost: true
if_proof_absent_then_reader_scope_narrowed_or_default_armed: trueThe lens fails if a famous handler, archive seal, sponsor signature, editor checksum, public outrage, or producer authority makes the transcript usable without keeper/proof state.
4. Hearing assignment is explicit
笔录删改听证 or equivalent must require:
assignment_required:
transcript_docket: storyteller.card.hearing_transcript_redaction_docket.v1
line_or_silence: <spoken line or explicit silence>
speaker_or_absence: <speaker or explicit_absence>
keeper_or_absence: <keeper or explicit_absence>
proof_anchor_or_absence: <proof anchor or explicit_absence>
future_reader: <future reader or route>
redaction_posture: preserve_raw | lawful_redaction | sponsor_clean_minutes | editor_checksum_mask | public_excerpt | split_escrow | proceed_without_minutesThe lens fails if redaction resolves without naming row, keeper, proof anchor, future reader, and selected posture or explicit absence.
5. Branches diverge by transcript state, reader state, cost, and future route
At least five branch families plus one default family must be playable or explicitly blocked by state:
- preserve raw transcript;
- accept lawful redaction;
- file sponsor clean minutes;
- mask through editor checksum;
- publish public excerpt;
- split transcript escrow;
- proceed without minutes.
Each branch must produce a different transcript state, reader state, cost surface, and future route effect.
6. No redaction posture is universal truth
No branch may make every reader accept the same clean minutes.
Required evidence:
no_universal_truth:
transcript_state_after_not_universal_clean: true
at_least_one_reader_narrowed_excluded_or_costed: true
future_reader_effect_not_clean_universal: true
counter_deltas_include_cost: trueThe lens fails if lawful redaction becomes public truth, sponsor clean minutes become public truth, editor checksum mask becomes raw speech, public excerpt becomes lawful admissibility, or split escrow becomes a single clean canon without cost.
7. Misfiled reader scope defaults are durable
笔录删改默认 must fire or arm when:
- future reader consumes hearing result with no transcript docket;
- keeper or explicit absence is missing;
- proof anchor or explicit absence is missing;
- sponsor clean minutes are filed as public truth;
- lawful redaction is filed as public truth;
- public excerpt is filed as lawful admissibility;
- editor checksum mask is filed as raw text;
- speaker absence is ignored;
- redacted line is removed without counter delta;
- 阮尺 is captured, missed, or omitted without future cost.
Required default evidence:
default_event_required:
event: storyteller.event.transcript_redaction_default.v1
source_docket: storyteller.card.hearing_transcript_redaction_docket.v1 | explicit_missing_docket
failed_slot_any:
- keeper_missing
- proof_anchor_missing
- reader_misfiled
- redaction_unpriced
- speaker_absence_ignored
- future_reader_consumed_clean_version
transcript_state_after_any:
- missing_minutes
- false_clean_transcript
- hostile_omission
- sponsor_captured_minutes
- reader_collision
- recovery_only
future_reader_effect_any:
- blocked
- hostile
- public_only
- lawful_only
- sponsor_captured
- editor_required
- recovery_only
- contradiction_pending
counter_deltas_min: 3The default cannot be a cutscene, mood change, generic reputation hit, or money-only penalty.
Branch assertions
Preserve raw transcript assertion
selected_posture: preserve_raw
transcript_state_after: raw_transcript_preserved
relief_any:
- transcript_integrity_up
- archive_signature_legitimacy_up
- public_receipt_legitimacy_up
cost_any:
- keeper_burden_up
- witness_exposure_up
- sponsor_stop_loss_pressure_up
- inspection_heat_up
future_effect_any:
- broad_reader_available_with_cost
- protected_witness_payroll_required
- audit_requiredLawful redaction assertion
selected_posture: lawful_redaction
transcript_state_after: lawful_redaction
relief_any:
- legal_body_risk_down
- archive_fraud_down
- custody_clarity_up
cost_any:
- public_distrust_up
- fan_oxygen_resentment_up
- bureau_favor_debt_up
future_effect_any:
- lawful_only
- appeal_required
- public_addendum_requiredSponsor clean minutes assertion
selected_posture: sponsor_clean_minutes
transcript_state_after: sponsor_clean_minutes | sponsor_captured_minutes
relief_any:
- sponsor_stop_loss_pressure_down
- slot_pressure_down
- budget_strain_down
cost_any:
- contract_capture_up
- public_receipt_distrust_up
- future_fraud_cost_up
future_effect_any:
- sponsor_captured
- public_audit_required
- hostile_omission_riskEditor checksum mask assertion
selected_posture: editor_checksum_mask
transcript_state_after: editor_checksum_mask
relief_any:
- continuity_hazard_down
- source_safety_up
- voice_integrity_up
cost_any:
- edit_debt_up
- source_ambiguity_up
- public_reader_blocked
future_effect_any:
- checksum_only
- editor_reader_required
- contradiction_pendingPublic excerpt assertion
selected_posture: public_excerpt
transcript_state_after: public_excerpt
relief_any:
- private_capture_blocked
- public_receipt_legitimacy_up
- fan_delegate_legitimacy_up
cost_any:
- inspection_heat_up
- witness_reprisal_risk_up
- sponsor_retaliation_up
future_effect_any:
- public_only
- lawful_appeal_required
- sponsor_retaliation_pendingSplit escrow assertion
selected_posture: split_escrow
transcript_state_after: split_transcript_escrow
reader_states_after_min: 2
relief_any:
- contradiction_contained
- witness_safety_up
- immediate_route_unblocked
cost_any:
- handler_burden_up
- source_ambiguity_up
- reader_collision_pending
- future_recovery_cost_up
future_effect_any:
- reader_specific_minutes
- split_canon
- costlier_future_correctionProceed without minutes assertion
selected_posture: proceed_without_minutes
emitted_or_armed_event: storyteller.event.transcript_redaction_default.v1
transcript_state_after_any:
- missing_minutes
- false_clean_transcript
- hostile_omission
- sponsor_captured_minutes
- recovery_only
cost_any:
- reality_drift_up
- archive_fraud_up
- public_receipt_distrust_up
- witness_reprisal_risk_up
- black_screen_pressure_up
future_effect_any:
- blocked
- hostile
- recovery_only
- contradiction_pendingCharacter-state assertion
If Redaction Stenographer is present as keeper, the result must mutate her state or burden.
ruan_chi_assertion:
if_ruan_chi_keeper_present: true
then_state_after_any:
- protected_keeper
- keeper_burdened
- witness_exposed
- sponsor_captured_minutes
- hostile_omission_witness
- frightened_missing_keeper
- recovery_only_keeper
if_ruan_chi_absent: true
then_explicit_absence_or_default_required: trueThe lens fails if 阮尺 is flavor-only, always recruited by page presence, or omitted without a transcript cost.
Future-reader assertion
A pass must show at least one future reader consuming the transcript result:
future_reader_consumption_required:
future_reader_present: true
future_reader_consumes_state: true
consumed_state_any:
- raw_transcript_preserved
- lawful_redaction
- sponsor_clean_minutes
- editor_checksum_mask
- public_excerpt
- split_transcript_escrow
- missing_minutes
- false_clean_transcript
- hostile_omission
- recovery_only
route_or_reader_effect_changed: trueThe lens fails if redaction only resolves the current hearing with no later route, reader, archive, public, sponsor, editor, lawful, witness, or broadcast-reality consequence.
Progress metric
hearingTranscriptRedactionProgress = 0..9:
0: no future-readable hearing result or no line/silence.1: source hearing/action and line or explicit silence are visible.2: future reader/route is visible.3: keeper or explicit absence and proof anchor or explicit absence are visible.4: 听证笔录删改案卷 enters play.5: 笔录删改听证 offers assignment slots and redaction posture.6: at least three non-default branch families are visible and state-gated.7: at least two valid branches produce different transcript states, reader states, costs, and future effects.8: missing, false-clean, captured, over-masked, or misfiled minutes trigger durable future-reader cost.9: replay proves future reader consumption with session/seed, source row, docket, assignment, selected branch, counter deltas, event/default state, and route/reader effect.
Minimal replay evidence shape
lens: storyteller.lens.hearing_transcript_redaction.v1
result: pass | fail
session_id: lens-hearing-transcript-redaction-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
trigger_kind: state_pressure
source_hearing_or_action_present: true
line_or_explicit_silence_present: true
future_reader_or_route_present: true
keeper_or_explicit_absence_required: true
proof_anchor_or_explicit_absence_required: true
no_fixed_turn_trigger: true
source_row:
source_hearing: <hearing_or_action_id>
source_session_id_or_in_world_source: <source id or explicit_absence>
spoken_line_or_silence: <line id or explicit_silence>
speaker_or_absence: <speaker or explicit_absence>
proof_anchor_or_absence: <proof or explicit_absence>
objects:
docket: storyteller.card.hearing_transcript_redaction_docket.v1
rite: storyteller.rite.transcript_redaction_hearing.v1
assignment:
keeper_or_absence: <keeper or explicit_absence>
future_reader: <reader or route>
redaction_posture: preserve_raw | lawful_redaction | sponsor_clean_minutes | editor_checksum_mask | public_excerpt | split_escrow | proceed_without_minutes
branch_result:
keeper_state_after: <state_or_absence>
transcript_state_after: <state>
reader_states_after: []
future_reader_effect: <effect>
emitted_or_armed_event: storyteller.event.transcript_redaction_default.v1 | none_if_valid
counter_deltas:
relief: []
cost: []
future: []
assertions:
source_line_keeper_proof_reader_visible: true
branch_postures_diverge: true
success_has_cost: true
redaction_scope_not_universal_truth: true
default_mutates_future_reader_access: true
future_reader_consumes_transcript_state: true
no_fixed_turn_day_week_raw_count_dashboard_or_lens_health_trigger: trueFailure cases
The lens must fail if any of these are true:
- entry is fixed-turn, fixed-day, chapter quota, raw transcript count, dashboard status, or lens-health state;
- no future-readable hearing result exists;
- no line or explicit silence is recorded;
- future reader is absent;
- keeper and proof anchor are missing without explicit absence;
- docket records only winning branch or summary text;
- rite omits docket, keeper, proof anchor, future reader, or redaction posture;
- branch outcomes collapse into the same reader state;
- success has no cost;
- lawful redaction is treated as public truth;
- sponsor clean minutes are treated as public truth;
- public excerpt is treated as lawful admissibility;
- editor checksum mask is treated as raw speech;
- split escrow becomes clean universal canon;
- default event fails to mutate future route, reader, custody, proof, or recovery state;
- 阮尺 is present as flavor but cannot be protected, burdened, captured, missed, hostile, or recovery-only;
- replay evidence lacks seed/session, source row, docket, assignment, selected branch, transcript state, reader state, counter deltas, and future-reader consumption.
Non-goals
- Not a whole-hearing transcript viewer.
- Not a generic archive methodology page.
- Not a moral rule against all redaction.
- Not a governance checklist.
- Not raw count satisfaction.
- Not a free cleanup action.
- Not a fixed-turn content trigger.
- Not valid unless transcript custody changes future reader access, route availability, proof credibility, or recovery cost.