rhi

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

presence_desired_state.v1.json (3011B)


      1 {
      2   "schema": "radroots.rhi.presence-desired-state",
      3   "contract_version": 1,
      4   "authority": {
      5     "source": "complete_admitted_rhi_config_v1",
      6     "modes": ["disabled", "enabled"],
      7     "document_order": ["service_profile", "application_handler"],
      8     "target_order": "configured_presence_target_relay_id_order",
      9     "target_requiredness": "configured_relay_required_value",
     10     "maximum_targets": 32,
     11     "queue_capacity": {
     12       "disabled": 0,
     13       "enabled_minimum": 1,
     14       "enabled_maximum": 4096
     15     },
     16     "independent_validation": "exact_rederivation_from_same_complete_config"
     17   },
     18   "target_set_digest": {
     19     "hash": "sha256",
     20     "domain_ascii_nul": "radroots.rhi.presence_target_set.v1\\0",
     21     "framing": [
     22       "target_count_u32_be",
     23       "for_each_target_in_order:ordinal_u32_be",
     24       "relay_id_utf8_length_u64_be",
     25       "relay_id_exact_utf8",
     26       "required_u8"
     27     ]
     28   },
     29   "desired_state_digest": {
     30     "hash": "sha256",
     31     "domain_ascii_nul": "radroots.rhi.presence_desired_state.v1\\0",
     32     "framing": [
     33       "mode_u8_disabled_0_enabled_1",
     34       "document_count_u32_be",
     35       "ordered_document_kind_u8_profile_0_application_handler_1",
     36       "target_count_u32_be",
     37       "for_each_target_same_framing_as_target_set",
     38       "queue_capacity_u32_be",
     39       "service_public_key_utf8_length_u64_be",
     40       "service_public_key_exact_lowerhex_utf8"
     41     ],
     42     "excludes": [
     43       "configuration_fields_unrelated_to_presence",
     44       "rendered_event",
     45       "signature",
     46       "authored_time",
     47       "entropy",
     48       "attempt",
     49       "relay_url",
     50       "network_outcome"
     51     ]
     52   },
     53   "durable_state": {
     54     "table": "presence_desired_state",
     55     "write_class": "compare_and_swap",
     56     "rows": "exactly_zero_or_one",
     57     "first_generation": 1,
     58     "maximum_generation": 9223372036854775807,
     59     "exact_replay": "no_mutation_same_generation",
     60     "semantic_change": "single_cas_generation_increment",
     61     "delete": "forbidden",
     62     "current_config_binding": "required_before_commit",
     63     "read_bounds": "at_most_two_rows_with_bounded_blob_and_text_projection"
     64   },
     65   "commit_boundary": {
     66     "before_rendering": true,
     67     "before_signing": true,
     68     "before_relay_io": true,
     69     "commit_outcome_unknown": "typed_and_not_retried_as_uncommitted_without_reread"
     70   },
     71   "separate_publication_authority": [
     72     "rendered_typed_events",
     73     "exact_signed_bytes",
     74     "per_document_target_state",
     75     "delivery_attempts",
     76     "retry_schedule",
     77     "relay_io",
     78     "observed_outcomes"
     79   ],
     80   "reference_vector": {
     81     "config_fixture": "contracts/services_hardening/config.v1.example.toml",
     82     "target_set_sha256": "959f04012841ae6e9bf3e109468b4f66cfa9d966aac1df36df09e45c1e1c48f9",
     83     "desired_state_sha256": "7235f1e386e839427625dc364df7b51ee74d39d5f170e12b25cf2c42fd7731f0"
     84   },
     85   "effects": {
     86     "sqlite": "typed_repository_commit_and_read_only",
     87     "clock": false,
     88     "entropy": false,
     89     "filesystem": false,
     90     "task_spawn": false,
     91     "network": false,
     92     "relay_io": false
     93   }
     94 }