trade_evidence_persistence.v1.json (1875B)
1 { 2 "schema": "radroots.rhi.trade-evidence-persistence.v1", 3 "contract_version": 1, 4 "input": { 5 "event": "sealed_signature_verified_trade_mutation_event", 6 "observation": "sealed_configured_nostr_relay_source_observation", 7 "observation_time": "injected_positive_unix_seconds", 8 "event_authored_time": "distinct_untrusted_policy_admitted_unix_seconds" 9 }, 10 "transaction": "one_governed_sqlx_transaction", 11 "facts": { 12 "canonical_mutation": { 13 "table": "trade_mutations", 14 "identity": "content_derived_mutation_id", 15 "content": "exact_canonical_mutation_json", 16 "event_authored_time_column": "absent_event_fact_only", 17 "conflicting_identity_reuse": "reject" 18 }, 19 "signed_event": { 20 "table": "nostr_events", 21 "identity": ["verified_event_id", "verified_event_signature"], 22 "content": "canonical_nip01_signed_event_json", 23 "multiple_signatures_for_one_event_id": "retained_separately", 24 "mutation_relationship": "many_signed_events_to_one_mutation" 25 }, 26 "source_observation": { 27 "table": "relay_observations", 28 "identity": ["source_id", "selector", "policy_digest", "event_id", "event_signature", "observed_at_unix_s"], 29 "source_id": "exact_validated_configuration_member", 30 "selector": "trade_mutation_lineage_v1", 31 "policy_digest": "exact_normalized_evidence_policy_sha256" 32 } 33 }, 34 "immutability": { 35 "updates": "reject", 36 "deletes": "reject", 37 "exact_replay": "idempotent", 38 "arrival_order": "non_authoritative" 39 }, 40 "effects": { 41 "filesystem": false, 42 "network": false, 43 "clock_read": false, 44 "checkpoint": false, 45 "dirty_generation": false 46 }, 47 "errors": "crate_owned_source_free_redacted", 48 "source_ingest_contract": "contracts/services_hardening/trade_source_ingest.v1.json", 49 "deferred": ["reconciliation", "publication"] 50 }