Common-Source Corroboration Proof Rows / 同源佐证证据行

This page binds one docket and six non-substitutable lineage rows. The packet exists for the moment when six authentic-looking surfaces agree but may descend from one capture or a circular citation family.

No selected-posture card exists. The review option records the selected response. A generic proof token, famous handler, sponsor seal, legal stamp, or archive label cannot replace any lineage row.

Exactly seven cards and slots

review_cards:
  lineage_docket: storyteller.card.proof_lineage_docket.v1
  inspector_report: storyteller.card.inspector_report_lineage_row.v1
  editor_checksum: storyteller.card.editor_checksum_lineage_row.v1
  archive_copy: storyteller.card.archive_copy_lineage_row.v1
  memorial_voice: storyteller.card.memorial_voice_lineage_row.v1
  public_clip: storyteller.card.public_clip_lineage_row.v1
  carrier_receipt: storyteller.card.carrier_receipt_lineage_row.v1

The order and slot names are stable. Review must reject a missing card, a substituted card, a card outside the player’s hand, a wrong slot, or an eighth shortcut card.

Card roles

proof_lineage_docket

Records the requested corroborated claim, apparent source count, established and unknown root counts, source-family links, independent weight allowed, overcounted weight, harmed future reader, selected branch, lineage state, future effect, and counter deltas.

It does not prove the underlying claim. It makes the lineage question playable.

inspector_report_lineage_row

Records what the inspector report actually asserts, its issue time, version, authority scope, cited parent, root or explicit absence, fingerprint, and custodian. An inspector signature authenticates that report; it does not transform the report’s cited checksum or copy into a new capture.

editor_checksum_lineage_row

Records the checksum target, version, source copy, derivation edge, editor-continuity scope, and root link. A checksum can show that two files match or differ. It cannot prove that the checked file originated independently of the archive or memorial master.

archive_copy_lineage_row

Records the archive copy, accession/version, source parent, root link, custody scope, and any pre-intake origin gap. Archive custody can authenticate possession and handling; it cannot invent a distinct pre-archive capture.

memorial_voice_lineage_row

Records the memorial-voice source, mix/version, source parent, root link, voice or memorial scope, and harmed claimant. It keeps voice use visible without granting living consent, voice custody, memorial ownership, or sponsor permission.

public_clip_lineage_row

Records the public clip, broadcast or recap parent, edit/version, root link, public-receipt scope, and future reader. A widely repeated clip can be authentic while remaining a derivative of the very claim it is later used to corroborate.

carrier_receipt_lineage_row

Records the transfer object, sender, receiver, time, carried parent, root link, and transfer scope. A carrier receipt proves that a named object moved through a named handoff. It does not prove the content truth of that object or create a second source.

Exact source-family schema

Each of the six lineage cards must expose the same fields or an explicit equivalent:

proof_lineage_row_required:
  rowCardId: storyteller.card.<lineage-row>.v1
  proofId: <stable proof row id>
  apparentSourceId: <stable apparent source id>
  surfaceKind: inspector_report | editor_checksum | archive_copy | memorial_voice | public_clip | carrier_receipt
  sourceFamilyId: family.lyra.last-air-edit.017
  lineageRootId: slot.last_air_edit
  rootSourceIdOrExplicitAbsence: slot.last_air_edit | explicit_absence
  parentCopyIdOrAbsence: <direct parent proof id or slot.last_air_edit or explicit_absence>
  parentSourceIdOrExplicitAbsence: <direct parent proof id or slot.last_air_edit or explicit_absence>
  sourceSessionIdOrAbsence: session.lyra.last-air-edit.017 | explicit_absence
  custodian: <named inspector editor archivist memorial desk fan public or carrier>
  custodianOrExplicitAbsence: <same named custodian or explicit_absence>
  derivationKind: inspector_summary | checksum | archive_copy | memorial_mix | public_clip | carrier_receipt
  originFingerprintOrExplicitAbsence: sha256:lyra-last-air-edit-017 | explicit_absence
  claimFragment: <exact proposition traced through this row>
  authorityScope: inspection | editor_continuity | archive_custody | memorial_voice | public_receipt | carrier_transfer
  captureOrIssueTime: <stable time row>
  versionId: <stable version id>
  futureReaderOrRoute: reader.memorial-archive-route-clearance
  harmedReaderOrClaimantIfOvercounted: lyra_voice_and_memorial_route_claimant
  provesScope: <one exact local proposition>
  doesNotProve: [<explicit denied authorities>]
  independenceState: shared_root
  localAuthorityOnly: true

Docket summary schema

proof_lineage_docket_required:
  requestedUse: authorize_memorial_voice_archive_route_as_independently_verified
  requestedCorroboratedClaim: the_named_voice_phrase_has_six_independent_confirmations_for_memorial_archive_route_use
  futureReader: reader.memorial-archive-route-clearance
  harmedFutureReaderOrRoute: reader.memorial-archive-route-clearance
  lineageRootId: slot.last_air_edit
  sourceSessionIdOrAbsence: session.lyra.last-air-edit.017 | explicit_absence
  claimedCorroborationCount: 6
  apparentSourceCount: 6
  distinctLineageRootCount: 1
  establishedRootCount: 1
  unknownRootCount: 0
  circularFamilyCount: 0
  circularFamilyCountAfterFalseBroadcast: 1
  corroborationWeightBeforeReview: 6
  corroborationWeightIfDisclosed: 1
  independentWeightAllowed: 1
  overcountedWeight: 5
  independenceStateBefore: common_root_unreviewed
  broadcastClaimStatus: proposed
  proofRowIds:
    - proof.inspector-report.lyra-017
    - proof.editor-checksum.lyra-017
    - proof.archive-copy.lyra-017
    - proof.memorial-voice.lyra-017
    - proof.public-clip.lyra-017
    - proof.carrier-receipt.lyra-017

Intake subset

The intake uses exactly four of the seven cards:

intake_cards:
  inspector_report: storyteller.card.inspector_report_lineage_row.v1
  editor_checksum: storyteller.card.editor_checksum_lineage_row.v1
  archive_copy: storyteller.card.archive_copy_lineage_row.v1
  public_clip: storyteller.card.public_clip_lineage_row.v1

These four are sufficient to expose apparent cross-desk agreement and suspected shared lineage. The docket, memorial voice, and carrier receipt must still be present for the collision event and seven-card review; intake cannot infer or grant their authority.

Invalid shortcuts

The packet must reject all of the following:

  • counting different custodians as different roots;
  • counting a report, its cited checksum, and the checked archive copy as three origins;
  • counting a public clip of the broadcast as an outside witness to that broadcast;
  • counting a carrier receipt as truth of the carried content;
  • treating unknown_root as independent;
  • treating matching authority labels as independent capture;
  • treating a distinct root as universal authority for every reader;
  • granting consent, clearance, custody, ownership, service, sponsor immunity, editor truth, or broadcast authority from lineage alone.