SOTER
ADR-012: Fact Envelope Source Sequencing and Fact Kinds
Status
Proposed
Context
ADR-008 defines bitemporal auditing and hash binding. ADR-009 defines logical
correction through corrects. The working model still needs two additional
capabilities:
- source-side loss detection in remote or relayed deployments;
- explicit separation between observational facts and interpretive facts.
Ledger seq is assigned at append time. It proves tape order, not source
emission completeness. If a source emits facts 5, 6, and 8, but fact 7 never
arrives, Akasha's ledger sequence remains contiguous. A reader cannot detect the
source gap without source-side sequence metadata.
Decision
The fact envelope has two kinds:
observational- a recorded phenomenon or testimony without authority or jurisdiction;interpretive- an authoritative ruling about a question over one or more observations.
The envelope reserves source-side reliability fields:
stable_id- stable per logical occurrence, assigned by the source;source_id- emitting system, actor, adapter, or source stream;source_seq- monotonic sequence number persource_id, assigned by the source.
stable_id is not a content hash. Two legitimately identical events must not
collapse into one occurrence merely because their payloads match.
source_id and source_seq are distinct from ledger seq. Ledger seq
records arrival/append order. Source sequencing records emitter order and makes
transport gaps observable to reader-side lenses.
occurred_at remains a declared belief: when the emitter claims the event
happened. recorded_at is Akasha's witness time: when the tape recorded the
fact.
Rationale
Akasha itself remains dumb, but readers need enough metadata to reason about duplicates, gaps, and source order. That intelligence belongs in the envelope and reader layer, not in the tape's write path.
Fact kind is required because an observation and an authoritative interpretation have different lifecycles. Observations may remain unjudged. Interpretations can be superseded by later interpretive facts.
Consequences
Positive
- Remote-source gap detection becomes possible.
- Deduplication can be done by readers without changing Akasha.
- Authority and jurisdiction have a schema home.
- Claimed domain time remains auditable as a claim.
Negative
- Source adapters must eventually provide stable IDs and source sequencing.
- Envelope versioning becomes a public compatibility concern.
Neutral or Operational
source_idandsource_seqcan be nullable until remote audit integration requires them.- The Fact envelope should become a first-class versioned schema rather than an implicit writer implementation detail.
Alternatives Considered
Use Ledger Sequence Only
Rejected. Ledger sequence records arrival order and cannot reveal a source event that never reached the tape.
Use Content Hash as Dedup Key
Rejected. Content hashes can collapse distinct occurrences with identical payloads.
Migration or Adoption
Introduce the versioned envelope with reserved source fields early. Local audit
milestones may leave source_id and source_seq empty. Remote audit adapters
must populate them.
Related Documents
- Adr008BitemporalAuditingViaHashBinding.md - bitemporal metadata and hash binding.
- Adr009LedgerStorageBackendStrategy.md - ledger protocol and correction model.
- Adr011AkashaReaderSideReliability.md - reader-side lens behavior.
- Adr013InterpretiveAuthorityJurisdiction.md - interpretive fact authority model.
- AkashaLedgerTechnicalSpec.md - ledger technical specification.
- AdrIndex.md - ADR index.