rhi

Coordinated trade for connected markets
git clone https://radroots.dev/git/rhi.git
Log | Files | Refs | README | LICENSE

reconciliation_replay.v1.json (3882B)


      1 {
      2   "schema": "radroots.rhi.reconciliation-replay",
      3   "schema_version": 1,
      4   "contract_version": 1,
      5   "state_schema_version": 5,
      6   "configuration_authority": "contracts/services_hardening/evidence_policy.v1.json",
      7   "request_authority": "contracts/services_hardening/reconciliation_attempts.v1.json",
      8   "replay_identity": {
      9     "algorithm": "sha256",
     10     "domain": "radroots.rhi.reconciliation_source_replay.v1\\0",
     11     "preimage": [
     12       "request_id_32_bytes",
     13       "prior_cursor_present_u8",
     14       "prior_cursor_created_at_unix_seconds_u64_be_when_present",
     15       "prior_cursor_verified_event_id_32_bytes_when_present",
     16       "overlap_seconds_u64_be",
     17       "inclusive_since_unix_seconds_u64_be"
     18     ],
     19     "exact_vector": {
     20       "request_id_hex": "ef58f9e8a61f7964734cf0c2aabe0bdb2cbdcec529b16f40ae18ec224d0c896d",
     21       "prior_cursor": null,
     22       "overlap_seconds": 300,
     23       "inclusive_since_unix_seconds": 0,
     24       "replay_id_hex": "2490a2e9a6e85051e92f6c2fc2ff7e98a1367afd6c26f8625eb421cd2ab30c68"
     25     }
     26   },
     27   "cursor": {
     28     "tuple": ["event_authored_unix_seconds", "verified_event_id"],
     29     "input": "sealed_step_190_committed_cursor_evidence",
     30     "scope": ["source_id", "trade_id", "evidence_policy_digest", "selector_digest"],
     31     "scope_mismatch": "reject_before_resume",
     32     "ordering": "lexicographic_ascending",
     33     "initial_since": "max_zero_floor_attempt_start_unix_ms_to_seconds_minus_lookback_seconds",
     34     "resume_since": "max_zero_prior_cursor_authored_seconds_minus_configured_overlap_seconds",
     35     "equal_timestamp_safe": true,
     36     "candidate": "greatest_canonical_admitted_cursor",
     37     "eligible_only_for": "complete_and_strictly_after_prior_cursor",
     38     "scope_revalidation_before_commit": "step_190"
     39   },
     40   "inventory": {
     41     "input_ingestion_bound": "request_maximum_events_plus_one",
     42     "input_original_bytes_bound": "request_maximum_original_event_bytes_before_deduplication",
     43     "trade_scope": "exact_request_trade_id",
     44     "canonical_order": [
     45       "event_authored_unix_seconds_ascending",
     46       "verified_event_id_bytes_ascending",
     47       "verified_signature_bytes_ascending",
     48       "source_observed_unix_seconds_ascending",
     49       "original_event_byte_length_ascending"
     50     ],
     51     "signed_event_identity": ["verified_event_id", "verified_signature"],
     52     "exact_replay": "one_canonical_fact",
     53     "observation_deduplication": "one_fact_per_signed_event_identity",
     54     "first_provenance": "earliest_injected_observation_time_retained",
     55     "mutation_identity_reuse": "exact_canonical_mutation_required",
     56     "signed_event_identity_reuse": "exact_canonical_signed_event_required",
     57     "accepted_count_and_bytes": "derived_from_canonical_distinct_inventory"
     58   },
     59   "timing": {
     60     "observation": "injected_whole_unix_second_interval_intersects_source_result_start_and_finish",
     61     "event_authored_time": "distinct_untrusted_previously_admitted_input"
     62   },
     63   "effects": {
     64     "sqlite": false,
     65     "source_or_relay": false,
     66     "network": false,
     67     "filesystem": false,
     68     "task_spawn": false,
     69     "ambient_clock": false,
     70     "ambient_entropy": false
     71   },
     72   "diagnostics": "crate_owned_source_free_redacted",
     73   "forbidden": [
     74     "unscoped_trade",
     75     "cursor_only_global_progress",
     76     "caller_forged_or_relabelled_cursor_scope",
     77     "in_memory_candidate_used_as_committed_cursor",
     78     "exclusive_since_cursor",
     79     "arrival_order_authority",
     80     "duplicate_authoritative_observation",
     81     "later_provenance_overwrite",
     82     "conflicting_mutation_identity_reuse",
     83     "conflicting_signed_event_identity_reuse",
     84     "unbounded_event_iterator",
     85     "unbounded_original_event_bytes",
     86     "checkpoint_advance_before_complete_commit"
     87   ],
     88   "deferred": [
     89     "source_execution",
     90     "durable_source_result_commit",
     91     "durable_scope_revalidation",
     92     "checkpoint_advance",
     93     "manifest",
     94     "reducer",
     95     "attestation",
     96     "publication"
     97   ]
     98 }